三分钟理解“策略模式”——设计模式轻松掌握

本文通过一个超市促销活动的例子,解释了为什么普通做法违反了“开放-封闭”原则,并提出了使用策略模式来解决这一问题。策略模式将折扣策略抽象为类,通过Context类的构造函数选择相应策略并调用其公共接口,降低了代码耦合度,提高了可扩展性。同时,对比了策略模式与简单工厂模式的区别和共性。
摘要由CSDN通过智能技术生成

实际问题:

由于超市隔三差五就要办促销活动,但每次促销活动的方式不一样,所以需要开发一个软件,营业员只要输入原价再选择活动类型后,就能计算出折扣以后的价钱。


普通人的做法:

mian(){
String input = readLine();
double price = readLine();

switch (input)
case "九五折":
price = price * 0.95;
break;

case "满100返50":
if(price>=100)
price = price - 50;
break;

case "不打折":

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值