策略模式

定义一系列的算法封装起来,将算法的使用和实现分离出来。

一个策略模式的程序至少由2部分组成。
第一个部分是封装了具体的算法的类。
第二部分是根据环境组合对应算法并实现运算。

优点:
1. 利用组合思想,有效的避免很多if条件语句。
2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展。
3. 使代码可以复用。