Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 723 Bytes

File metadata and controls

15 lines (8 loc) · 723 Bytes

策略模式

场景:商场促销。简单工厂模式虽然也能解决这个问题,但这个模式只是解决对象的创建问题,而且由于工厂本身包括了所有的收费方式,商场是可能经常性地更改打折额度和返利额度,每次维护或扩展收费方式都要改动这个工厂。所以它不是最好的办法。

面对算法的时常变动,应该有更好的办法。

定义

策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。

代码

StrategyClient