首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

计策模式-java实现

2013-10-29 
策略模式-java实现模式定义策略模式(Strategy Pattern):定义一系列的算法,将每一种算法封装起来并可以相互

策略模式-java实现

模式定义

策略模式(Strategy Pattern):定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。

概念解析:意思就是我们解决一个可能有多种解决方法(即算法)的问题的时候,我们可以先把不同的解决方法实现,然后根据具体的情况选用不同的解决方法。

模式类图:

计策模式-java实现

使用场合:

(1)、当多个类的表现行为不同,需要在运行时动态的选择具体要执行的行为的时候。

(2)、需要在不同的情况下使用不同的策略,或者还可能在未来用其他方式实现的时候。

(3)、需要隐藏具体策略的实现细节,各个具体策略彼此独立的时候。

(4)、当一个类有多种行为,而且要在执行的时候用判断语句选择具体的行为的时候,可以运用策略模式将各个条件里面的动作,用具体的策略类来实现。

实例分析:商场打折促销的例子。促销方式:

1、打八折促销商品。

2、满1000元减200促销商品。

3、满200元,高于200元的部分打8折促销商品。

在商场促销活动中,用户可以根据自己的实际情况选择具体的打折方式。如有的商品打八折促销,有的商品满1000减200,有的商品满200高于200的部分打八折。用户则根据自己的具体需求选择不同的商品,然后结账的时候跟据不同的商品的促销方式的不同来计算具体消费费用。

策略模式实现过程应注意以下几点内容:

(1)、需要一个总体结构负责保存当前的具体策略,然后在具体的使用方法中调用具体策略实现相应的算法。

(2)、可以在适当的时候改变当前策略。

(3)、每一种条件分支作为一个具体策略算法单独实现。

代码实现(java):

文章内容来源:软件秘笈——设计模式那点事

热点排行