策略模式很简单,类似于C里维护一个函数指针,只是将具体策略抽象出来并维护。
代码如下:
- Strategy
public interface Strategy { public void doMethod(); }
- ConcreteStrategy
public class ConcreteStrategy implements Strategy { @Override public void doMethod() { System.out.println("ConcreteStrategy method"); } }
- Context
public class Context { private Strategy strategy; public Context(Strategy strategy){ this.strategy = strategy; } public void doMethod(){ strategy.doMethod(); } }
- APP 测试类
public class App { public static void main(String[] args) { Context context = new Context(new ConcreteStrategy()); context.doMethod(); } }