1.C++ 设计模式 - 策略模式
C++ 设计模式 - 策略模式
策略模式定义多种处理同一场景的商场商场不同算法,这些算法可在不影响用户的购物购物情况下互相替换。
应用场景
某会员制商场有两种级别会员:银卡会员、源码源码黄金会员,商场商场分别享有9折、购物购物我爱代挂网引导页源码8折购物优惠。源码源码飞鱼校园源码同时不同的商场商场会员用户在生日当天购物,会赠送不同的购物购物生日礼物。
分析
场景比较简单,源码源码需要解决的商场商场问题是区分不同类型的顾客享有不同的权益(折扣和生日礼物)。
按照平常的购物购物编码习惯,通常会在需要区分用户等级的源码源码业务上加上if判断,实现不同等级顾客应享有的商场商场turtle画图源码不同权益。这种方案能快速的购物购物解决实际问题,但是源码源码随着业务需要,商场又要引进更高逼格的会员类型,譬如白金会员、芒果娱乐源码钻石会员等。此时,需要在散落在各处的业务代码上加上if补丁。
这种做法会引来如下问题:
解决方案
引入策略模式,宝塔视频源码将用户等级抽象,分别定义出用户所有的行为,不同等级的用户各自实现该等级应享有的权益。
策略模式
CShop: 商场类。实现不同等级顾客的折扣结算、生日礼物等。持有CConsumer指针,根据需要指向具体的顾客实例(CCommonUser、CSilverUser、CGoldUser)。
CConsume: 顾客抽象类。定义顾客所有的行为接口。
CCommonUser、CSilverUser、CGoldUser: 具体顾客类。不同等级顾客实现有差异部分的接口。
执行效果
客户端实现
总结源码
商店类接口
更新顾客类型
顾客类抽象接口
具体顾客类:黄金会员
客户端接口
推荐文章
C++ 设计模式 - 命令模式
开源文章目录
2025-01-20 04:18938人浏览
2025-01-20 03:501967人浏览
2025-01-20 02:541344人浏览
2025-01-20 02:412351人浏览
2025-01-20 02:30229人浏览
2025-01-20 02:161751人浏览
以色列國防軍3日發表聲明說,巴勒斯坦伊斯蘭抵抗運動哈馬斯)高級成員勞希·穆什塔哈於3個月前在以軍對加沙地帶的空襲中死亡。聲明說,3個月前,以軍和以國家安全總局根據情報精準打擊了加沙地帶北
1.如何查看网页的源码2.html网页制作、跪求源代码如何查看网页的源码 一个网页的源码,除了从事IT工作的人员外,很少有人接触,今天就介绍一种查看一个网页源码的方法。 1、首先打开一个网页,
1.玉米种子口号霸气押韵2.生产质量标语、口号大全3.增员口号4.每天喊口号的公司能去吗 公司每天喊口号有用吗5.口号设计说明怎么写?6.旺季营销励志口号玉米种子口号霸气押韵 玉米种子,霸气勃发,