策略模式

(1)什么是策略模式?

策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

(2)策略模式的优点

由于多重转移语句不易维护,使用策略模式可以避免使用多重条件转移语句。同时,策略模式你可以根据自己的需求动态的改变对象的行为。

(3)策略模式的组成

—抽象策略角色: 策略类,通常由一个接口或者抽象类实现。
—具体策略角色:包装了相关的算法和行为。
—环境角色:持有一个策略类的引用,最终给客户端调用。
利用策略模式构建应用程序,可以根据用户配置等内容,选择不同有算法来实现应用程序的功能。具体的选择有环境对象来完成。采用这种方式可以避免由于使用条件语句而带来的代码混乱,提高应用程序的灵活性与条理性。
 
(4)具体例子可以参考http://yangguangfu.iteye.com/blog/815107#comments,十分不错的一个例子。
 
 
原文地址:https://www.cnblogs.com/vmax-tam/p/4080428.html