1.策略模式Strategy:属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
2.类图:
3.代码:
public class Context {
//持有一个具体策略对象
private Strategy strategy;
//传入一个具体的策略对象
public Context(Strategy strategy) {
this.Strategy = strategy;
}
//策略方法
public void contextInterface() {
strategy.strategyInterface();
}
}
public interface Strategy {
//策略方法
public void strategyInterface();
}
public class ConcreteStrategyA implements Strategy {
@Override
public void strategyInterface() {
//相关处理
}
}
public class ConcreteStrategyB implements Strategy {
@Override
public void strategyInterface() {
//相关处理
}
}