@songying
2018-07-10T12:04:17.000000Z
字数 594
阅读 1267
设计模式
定义一组算法, 把每个算法都封装起来,并且使得它们之间可以互换。

起到承上启下封装作用,屏蔽高层模块对策略,算法的直接访问, 封装可能存在的变化。
策略,算法的抽象,通常为接口。定义每个策略,算法必须具有的方法和属性。
实现抽象策略中的操作, 该类具有具体的算法。
public interface Strategy{public void doSomething();}
public class ConcreteStrategy1 implements Strategy {public void doSomething(){# 具体实现逻辑}}
public class Context{private Strategy strategy = null;public Context(Strategy _strategy){this.strategy = _strategy}public void doAnything(){this.strategy.doSomething();}
Strategy strategy = new ConcreteStreategy();Context context = new Context(strategy);context.doAnything();
