设计模式笔记2:策略模式

1.1  需求

  设计一个商场打折计费的软件,能够实现打折,满300送100等优惠功能。算法

 

1.2 类图

  

1.3  实现

  咱们先把4个计算的类写出来。单元测试

 

 View Code

 

  在写负责建立对象和调用的CashCoxt类测试

 

 View Code

  

  最后调用的代码:优化

 

 View Code

 

1.4  总结

 

  咱们客户端的代码只用到了CashContext类,下降了耦合。 而策略模式的精髓在于:完成同一个功能有不一样的算法时,咱们把他抽象到父类。而后每个功能都由对应的子类来实现。 再用一个中间类为咱们建立对象,调用方法。设计

  这样的2点好处:    对象

    一、减小了各类算法类之间的耦合。blog

    二、优化了单元测试。软件

  策略模式就是用来封装算法的,当咱们实践中某一个功能有多种实现的算法。咱们就能够考虑使用策略模式。方法

相关文章
相关标签/搜索