1.策略模式概述
定义一系列算法,将每一个算法封装起来,并让他们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。
2.策略模式结构图
3.策略模式案例设计
问题:某公司经常进行促销活动,根据不同的条件,如订单数量、商品数量、产品种类等,公司可以提供百分比折扣或现金减免等多种促销方式供用户选择。实现每种促销活动的代码量很大,且会随促销方式不同经常修改,系统设计中需要考虑现有的促销和新的促销,而不用经常重写控制器类代码。该案例的类图设计如下:
定义一系列算法,将每一个算法封装起来,并让他们可以相互替换。策略模式让算法可以独立于使用它的客户端而变化。
问题:某公司经常进行促销活动,根据不同的条件,如订单数量、商品数量、产品种类等,公司可以提供百分比折扣或现金减免等多种促销方式供用户选择。实现每种促销活动的代码量很大,且会随促销方式不同经常修改,系统设计中需要考虑现有的促销和新的促销,而不用经常重写控制器类代码。该案例的类图设计如下: