策略模式(Strategy Pattern)

策略模式(Strategy Pattern)(对象行为型设计模式)
——鸭子模式
定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。


设计原则

弹性设计,可以维护,可以应付变化。

  • 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。(封装变化)
  • 针对接口编程,而不是针对实现编程。(“针对接口编程”,关键就在于多态。)(implement)
  • 多用组合(has-a), 少用继承(is-a)。

思维导图

策略模式(Strategy Pattern)_第1张图片

策略模式(Strategy Pattern)_第2张图片

策略模式

策略模式(Strategy Pattern)_第3张图片

策略模式(Strategy Pattern)_第4张图片

仅作为个人笔记,只是结论而非细节。
参考 《设计模式》《Head First 设计模式》

PHP设计模式之策略模式
http://www.cnblogs.com/baochuan/archive/2012/02/27/2370008.html
鸭子-策略模式(Strategy)
http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html

你可能感兴趣的:(设计模式,设计模式,编程,设计,应用)