策略模式

Posted by 程序亦非猿 on 2016-07-21

设计模式专题系列: 设计模式

策略模式

定义了算法族,分别封装起来,让它们之间可以相互转换,此模式让算法的变化独立于使用算法的客户。

其实就是利用多态的特性,使用面向接口的编程方式来做。

特点:

  1. 定义算法族
  2. 分别封装
  3. 算法可以相互替代
  4. 可以动态切换算法

策略模式通常通过定义 一个Interface,再写不同的实现类去实现的。

体现的设计原则: 开闭原则,针对接口编程