策略模式 Strategy Pattern

设计原则 一:

找出应用中可能需要变化之处, 把它们独立出来, 不要和那些不需要变化的代码混在一起。

设计原则 二:

针对接口编程,而不是针对实现编程。

针对接口编程真正的意思是针对超类型(supertype) 编程。利用多态, 程序可以针对超类型编程, 执行时会根据实际状况执行到真正的行为, 不会被绑死在超类型的行为上。

超类型: 通常是一个抽象类或者是一个接口

设计原则 三:

(当我们需要扩展类的行为时)多用组合,少用继承。

使用组合建立系统具有很大的弹性, 不仅可将算法族封装成类,更可以在运行时动态地改变行为, 只要组合的行为对象, 符合正确的接口标准即可。

策略模式定义:

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

2017-06-06-14965513657651
2017-06-06-14965513657651