本文共 1875 字,大约阅读时间需要 6 分钟。
策略模式(strategy pattern):定义一组算法,将每个算法都封装起来,并且使它们可以互换。策略模式使得算法可独立于它们的客户端而变化。
注意事项:如果一个系统的策略多于四个,就需要考虑使用混合模式,解决策略类膨胀的问题。
public interface Strategy { public void algorithmInterface();}public class Context { Strategy strategy; public Context(Strategy strategy) { this.strategy = strategy; } /** * 上下文接口 */ public void contextInterface() { strategy.algorithmInterface(); }}class ConcreteStrategyA implements Strategy { @Override public void algorithmInterface() { System.out.println("策略A的具体算法实现"); }}class ConcreteStrategyB implements Strategy { @Override public void algorithmInterface() { System.out.println("策略B的具体算法实现"); }}class ConcreteStrategyC implements Strategy { @Override public void algorithmInterface() { System.out.println("策略C的具体算法实现"); }}public class Client { public static void main(String[] args) { Context context; context = new Context(new ConcreteStrategyA()); context.contextInterface(); context = new Context(new ConcreteStrategyB()); context.contextInterface(); context = new Context(new ConcreteStrategyC()); context.contextInterface(); }}
上一篇:
下一篇:转载地址:http://umrai.baihongyu.com/