关于订单的多件折扣及优惠券实现设计模式(组合+策略模式)

发布时间:2024-11-29 12:39

购买时选择‘满减’+‘折扣券’模式,双重优惠 #生活知识# #购物技巧# #折扣券使用#

关于订单的多件折扣及优惠券实现设计模式(组合+策略模式)

最新推荐文章于 2024-10-19 17:07:20 发布

weixin_44019016 于 2019-07-12 14:44:48 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

首次用的策略+组合模式:

现实中,我们要实现一个M件N折的功能

意思是,满几件,打几折的电商优惠活动。

后面考虑来,优惠券,于是统一使用这个模式去实现该功能:

先上设计图:

其中

order类,与打折类(接口)是组合的关系。

即,优惠券或M件N折,均是Order的一部份。

先说,M件N折:

实现步骤:

首先设计类及接口。

Order类的设计:

1.给Order类,添加一个私有成员,iCalCount接口。ICalDiscountPromotion iCalDiscount。

2.给Order类,添加一个折扣,AddCalDiscount(iCalDiscount)

ICalDiscountPromotion的设计:

1.声明接口

2.实现这个接口的两个类

3.每个类,分别实现各自的CalDiscount()计算优惠价格。

最后,调用的实现:

Order order=new Order()

Order.AddCalDisCount(new CalDiscountActivity(价格,数量,规则)

至此,简单的模式,实现折扣优惠。

后面再有优惠,就可以添加一个新类去计算

代码:

   public class Order {

        private ICalDiscountPromotion _calDiscount;

        /// <summary>

        /// 加一个折扣优惠

        /// </summary>

        /// <param name="calDiscount"></param>

        public void AddCalDiscount(ICalDiscountPromotion calDiscount) {

            this._cal

网址:关于订单的多件折扣及优惠券实现设计模式(组合+策略模式) https://www.yuejiaxmz.com/news/view/312336

相关内容

重学 Java 设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」
策略模式(Strategy Pattern):电商平台的优惠券系统实战案例分析
【设计模式】策略模式 ( 简介
C++ 设计模式之策略模式
优惠券管理策略:提高营销效果的关键
比一比价,轻松发现更多优惠折扣
我在零售巨头做新零售13(优惠券策略)
津津乐道设计模式
10 个优惠券营销策略技巧(销量猛增)
设计模式:策略(Strategy)模式

随便看看