跟简单工厂有点相似,定义了算法家族。
策略模式定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。
意思是我可以使用A算法,使用完了我还可以再使用B算法。对结果不满意,那我回过头来使用A或者使用C算法。随客户的意愿,想用哪种就用哪中。比如元旦时商场做促销,在原价的基础上打九折,打完折扣后满300返100。这是打九折可定义为A算法,满300减100可定义为B算法。过了元旦,想用全场只打8折的活动,可定义为C算法。那客户在元旦期间是先调用A算法类,再调用B算法类。过了元旦,只调用C算法类。
这个策略用来促销确实不错。