策略模式(Strategy Pattern)

本文介绍了策略模式的概念及其在软件设计中的应用。策略模式定义了一系列可互换的算法,并将这些算法封装起来,使得它们可以互相替换。该模式允许算法独立于使用它们的客户端进行变化。

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


设计原则

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

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

思维导图

这里写图片描述

这里写图片描述

策略模式

这里写图片描述

这里写图片描述

仅作为个人笔记,只是结论而非细节。
参考 《设计模式》《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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值