@songying
2018-07-10T20:04:17.000000Z
字数 594
阅读 1037
设计模式
定义一组算法, 把每个算法都封装起来,并且使得它们之间可以互换。
起到承上启下封装作用,屏蔽高层模块对策略,算法的直接访问, 封装可能存在的变化。
策略,算法的抽象,通常为接口。定义每个策略,算法必须具有的方法和属性。
实现抽象策略中的操作, 该类具有具体的算法。
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();