1. 实验内容
某电商系统,销售Sale类中包含销售项SaleItem对象的列表,SaleItem类包括商品名称、数量、单价等数据域。
现有的Sale类calculateTotalPrice ()方法计算总价,其遍历所有的SaleItem对象,通过累积每个SaleItem对象的数量×单价,求得总价。
但是目前系统要求促销活动时能灵活采用多种打折算法,例如打8折 ,或满200减50 等,请采用策略设计模式 对现有设计修改。
(提示:Sale类依赖于计算总价的接口,calculateTotalPrice ()方法委托给该接口计算总价,该接口的实现对象可由构造方法或setter方法注入Sale。 另外可使用配置文件中记录具体的计算总价实现类的类名,读配置文件后由java反射机制得到实例对象,然后注入)
2. 设计URL类图

3. 伪代码及运行截图
1)策略接口PriceCalculationStrategy

2)具体策略实现类Discount80Strategy、 Full200Minus50Strategy


3)商品项类 SaleItem

4)销售类 Sale

5 .) 客户测试类 Client
