首页 > 其他 > 详细

策略模式

时间:2015-10-28 19:15:21      阅读:213      评论:0      收藏:0      [点我收藏+]
1、策略模式:又叫算法簇模式。它定义了一系列的算法,分别封装起来,让他们之间可以相互替换(实现这点,在C++中可以使用指针或者引用),此模式让算法的变化不会影响到使用算法的客户。
2、优点:策略模式的好处在于可以动态改变对象的行为。
3、设计原则:把一个类中经常改变或者将来有可能改变的部分提取出来,作为一个虚类,然后在该虚类的派生类中去实现虚类中的函数。这样在实例中运行时,就可以任意调用实现这个虚类的函数了。策略模式属于对象行为模式,主要针对一组算法,将每一个算法封装到共同虚基类的独立类中,从而是的它们之间可以相互替换。
4、策略模式中有三个对象:
(1)、环境对象:即管理具体对象策略的对象。该对象中主要是对抽象类对象的定义和引用。
(2)、抽象策略对象:它是有抽象类实现的。主要是为算法簇提供统一的接口。
(3)、具体策略对象:它封装了不同功能的不同算法。
5、在实际开发中可以用策略模式封装几乎任何类型的规则,只要在分析过程中指导它需要在不同时间(或不同场景)应用不同的业务规则,就可以考虑用策略模式来处理这种变化的可能性。
6、改进:调用者要对情况进行判断,然后确定创建哪一种策略对象。这就要求调用者必须知道有哪些策略类。当然,在使用策略模式时,还可以对这些判断做进一步封装,留个调用者一个接口,调用者只需要知道这一个接口就可以正常使用了。这就是策略模式与简单工厂模式的结合使用。

策略模式

原文:http://www.cnblogs.com/zxtp/p/4917892.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!