----
策略模式适用场景 :
行为切换 : 系统有 很多类 , 这些类的区别仅仅在于它们的 行为不同 ; 使用策略模式 , 可以 动态地 让 用户对象 在这些行为中, 选择一个行为 ;
将对象的..., 可以在不修改原有系统的基础上 , 选择不同的行为 , 也可以 额外扩展其它行为 ;
避免代码冗余 : 可以 避免使用多重条件判定语句 ; 可以避免出现大量的 if … else … 语句 , switch...语句等 ;
安全保密 : 策略模式可以 提高算法的 保密性 和 安全性 ; 在终端使用策略时 , 只需要知道策略的作用即可 , 不需要知道策略时如何实现的 ;
策略模式缺点 :
策略类选择 : 客户端...必须 知道所有的 策略类 , 并且自行决定 使用哪个策略类 ;
增加复杂性 : 如果系统很复杂 , 会 产生很多策略类 ;
四、策略模式与其它设计模式
----
策略模式与工厂模式 :
工厂模式..., 促销行为 , 设置多个促销行为 , 将其封装到类中 ;
1、促销策略接口
package strategy;
/**
* 促销策略接口
* 所有的促销策略 , 都要实现该接口
*