码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式Strategy[设计模式入门]

时间:2015-05-17 11:58:00      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

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

设计原则

1.将变化的部分独立出来并封装,以便以后可以轻易改动或扩充次部分,而不影响不需要变化的部分。

将Duck中的行为抽取出来。

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

Duck类及其子类不实现这些行为,而是把这些行为单独为一系列的类。

3.多用组合,少用继承。

鸭子的行为不是继承来的,而是和适当的行为对象“组合”来的。可将算法族封装成类,更可以“在运行时动态地改变行为”,只要组合的行为对象符合正确的接口标准即可。

鸭子:

技术分享

Obj-C

Duck, QUackBehavior为基类

技术分享

Duck类

技术分享

技术分享

QuackBehavior类

技术分享

叫声为Gua的行为类QuackGua

技术分享

实现代码

技术分享

策略模式Strategy[设计模式入门]

标签:

原文地址:http://www.cnblogs.com/bitCoder/p/4509285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!