《大话设计模式》之--第2章 商场促销----策略模式

本文通过商场收银软件的开发案例,详细介绍了如何使用策略模式来应对不断变化的促销活动。从最初的简单实现到引入简单工厂模式,再到最终结合策略模式和简单工厂模式,逐步降低了代码的耦合度,提高了系统的灵活性。文章强调了策略模式封装变化的能力,以及它在减少条件语句和简化单元测试方面的好处。
摘要由CSDN通过智能技术生成

2 商场促销----策略模式

2.1商场收银软件

       “小菜,给你出个作业,做一个商场收银软件,营业员根据客户所购买商品的单价和数量,向客户收费。”

       “就这个?木问题。”小菜说,“用两个文本框来输入单价和数量,一个确定按键来算出每种商品的费用,用个列表框来记录商品的清单,一个标签来记录总计,对,还需要一个重置控制来重新开始,不就行了?!”

 

商场收银系统v1.0关键代码如下:

 

“大鸟,”小菜叫道,“来看看,这不就是你要的收银软件吗?我不到半个小时就搞定了啦。”

“哈哈,挺快的嘛。”大鸟说着,看了看小菜的代码。接着说:“现在我要求商场对商品搞活动,所有的商品打8折。”

“那不就是在totalPrices后面乘以个0.8吗?”

“小子,难道商场活动结束,不打折了,你还要再改一遍代码,然后再用改后的程序把所有的机器全部安装一次吗?再说,还有可能因为周年庆,打五折的情况,怎么办?”

小菜不好意思道:“啊,我想的是简单了点。其实呢,只要增加一个下拉菜单选项框就可以解决你说的问题啦。”

大鸟笑而不语。

2.2增加打折

 商场收银系统v1.1关键代码如下:

 

 

“这下可以了吧,只要我事先把商场可能的打折都做成下拉菜单的样子,就可以了”小菜说道。

 

 

“这比刚才灵活性上是好了,不过重复代码很多,4个分支语句除了打折多少不同以外几乎完全一样,应该考虑重构一下。不过这还不是最主要的,现在我的需求又来了,商场的活动加大,需要有满300100的促销算法,你说该怎么办?”

“满300

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值