设计模式笔记之策略模式

 时间:2024-10-13 04:04:10

1、策略模式定义:定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化不会影响到使用算法的客户。UML 类图如下。定义类图来埠们萁猕自《大话设计模式》一书。由图可知有三个角色: 1. Context角色,用以引用Strategy;2.Strategy角色,是算法的抽象,一般是接口或者抽象类;3.ConcreteStrategy角色, 包装了具体算法。

设计模式笔记之策略模式

3、IPromotion接口非常简单,只需要一个根据传入金额返回优惠后金额的函数returnCalMoney即可。具体接口以及类代码如下。

设计模式笔记之策略模式

5、我们再创建一个测试函数。其实一般来说,收银员输入金额,从下拉框中选择优惠政策(无优惠为默认),然后点击收银即可。我们这里就简而化之了。运行查看结果。

设计模式笔记之策略模式

7、当然,如果我们要将“打九折”修改为“打七折”,这个时候就必须修改CashierContext中switch中case语句。这个问题可以采用反射技术来解决。当然,这个不是本篇经验要讨论的问题,请参考我的其它经验。

  • 设计模式之策略模式
  • 设计模式:策略模式
  • 设计模式笔记——命令模式的学习
  • 设计模式笔记之命令模式
  • 设计模式笔记之组合模式
  • 热门搜索
    旅游风景图片 临安旅游 泰国旅游景点 荷兰旅游 横店影视城旅游攻略 韩国旅游攻略 俄罗斯旅游报价 吕梁旅游 池州旅游 湖南旅游攻略