zoukankan      html  css  js  c++  java
  • 策略模式 【会员折扣】的工厂模式升级实现

    策略模式,

    顾名思义, 就策略而言, 很简单很好理解, 策略的诞生, 主要是为了适用不同的场景,  设计的不同的应对策略, 方法。

    _____________________________________________________________________________________

    举个很简单的例子:

    在商品中的销售 .... (朋友们别嫌弃, 说我老是拿商场的来举例子, 毕竟我们见的最多, 也频率很高, 所以理解起来更加容易理解, 和发挥其想象空间)。

    在销售员结账时, 他可以根据工厂模式对不同的会员类型进行结算(不同的折扣率),  这个大家都知道, 可是很多人看完了策略模式可能又有些不理解, 策略模式到底是什么?

    就简单的来说: 针对不同的商场, 不同的节假日, 那么他们或许可能会搞活动(什么满减、全场清仓.... ),  而针对不同的节假日, 这里就讲重点了, 他们肯定会针对不同的节日

    进行战略性的营销策略:  什么劳动节1折, 儿童劫6折等等...    (别想多了, 没有商场会这么干- -!!, 除非脑子短路了。)

    示例图解:

    肛上代码:

    改例仍然引用博客中的 第一步 和第 二步 , 定义结算接口, 和用户类。

    原文地址: http://www.cnblogs.com/zh7791/p/7086055.html

    第三步: 创建策略工厂类, 定义一个结算接口, 和创建一个 参数为 string类型的 会员类型的类构造函数。

    第四步: 在CreateContext类中创建不同的策略方法, 针对 元旦节、劳动节、儿童节的具体方法。

    第五步: 客户端调用创建并调用策略工厂对象

     

    显示结果

    结果如下图,  如何针对不同的节假日, 进行不同的折扣消费活动, 得到的不同金额的消费金额。 

  • 相关阅读:
    Linux下高并发socket最大连接数所受的各种限制
    Oracle DB 使用资源管理
    Oracle DB 资源管理
    C++ 封装私有堆(Private Heap)
    用宏实现 C++ Singleton 模式
    基于 crt debug 实现的 Windows 程序内存泄漏检测工具
    如何养成良好的 C++ 编程习惯 —— 内存管理
    OCP-1Z0-053-V12.02-643题
    Oracle DB 通过SQL 优化管理性能
    OCP-1Z0-052-V8.02-141题
  • 原文地址:https://www.cnblogs.com/zh7791/p/7086593.html
Copyright © 2011-2022 走看看