策略模式

本文记录Java学习过程中遇到的策略模式~

策略模式(Strategy-Pattern)策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。

  • Context:算法调用者,使用setStrategy方法灵活的选择策略(strategy);
  • Strategy:算法的统一接口;
  • ConcreteStrategy:算法的具体实现。

使用场景:

针对同一类型问题的多种处理方式,仅仅是具体行为有差别时; 
出现同一抽象类有多个子类,而又需要使用 if-else 或者 switch-case 来选择具体子类时。

标签: none