大话设计模式策略模式_多种方法实现商场促销

V1.0面向过程设计思想

V1.1

添加计费方式下拉框,发现程序不容易维护,不容易扩展,更不容易复用

采用面向对象的设计思想

V2.0面向对象+简单工厂

 缺点是每次维护或扩展收费方式都要改动这个工厂,以致代码需要重新编译部署

V2.1策略模式

 缺点是在客户端使用switch去判断使用哪一个算法

V2.2策略+简单工厂

 缺点是还是要在环境角色中使用switch去判断使用哪一个算法

 根据“所有在用简单工厂的地方,都可以考虑用反射技术来去除switch,解除分支判断带来的耦合”原则

V2.3反射+正则表达式

 这样在扩展收费方式时,如添加打7折这样的功能,只需要在app.config中添加下拉框选项,使得需求变更的成本最低。而添加像积分超过10000分有新的优惠措施等新的功能,那么只需要将相应的dll文件放在可执行文件的method文件夹中,实现可插拔

源代码下载地址:http://download.csdn.net/detail/u013905744/9438047

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值