出自大话设计模式:

商场进行收费,有正常收费,打折,满减的活动。针对设计

1、首先通过简单工厂的方式实现

1-1、抽象超类,默认有未实现方法,收取现金

1-2、

分别有对应的正常收费,打折,满减的3个实现

1-3、创建简单工厂,用于生成cashsuper超类

1-4、main方法模拟成客户端:

简单工厂方法: 客户端需要知道CashSuper和CashFactory2个类,才能够实现功能

2、通过策略模式完成:

2-1、客户端只需要传入对应的策略方案,然后通过策略模式的上下文生成对应的策略实体,调用对应的计算,即可计算。这样客户端只需要知道CashContext即可。对策略进行封装。

 

 

截图转自:大话设计模式