zoukankan      html  css  js  c++  java
  • 设计模式课程设计。要求使用5个以上不同的设计模式

     

    自动贩卖机系统

    2.1补充商品

    功能:在贩卖机缺货的时候,输入工厂名称以补充商品

    模式:工厂方法模式

    模式优点: 管理者只需知道工厂的类名,无需知道内部运行的逻辑即可对商品进行补充。如果有新的商品要加入,无需修改源代码,只需增加工厂类和产品类,即可增加新的商品。

    2.2购买套餐

    功能:以套餐的形式,一次购买多个商品,促进消费

    模式:建造者模式

    模式优点: 用户只需知道套餐的类名,无需知道内部运行的逻辑即可对商品进行购买。如果管理员想要增加新的套餐,无需修改源代码,只需增加套餐子类,即可增加新的套餐。

     

    2.3创建订单

    功能:一次交易对应生成一个订单。

    模式:单例模式

    模式优点:单一交易生成一个订单以确保交易的成功进行,避免因生成多个订单造成其他对象对订单访问的混乱,如果不使用单一模式,可能会造成支付后没有获得商品的情况。

     

    2.4外观模式

    功能:贩卖机的开启和关闭

    模式:外观模式

    模式优点:贩卖机的启动与关闭只需按下开关机按钮,管理者无需知道硬件内部实现的操作,通过外观模式来实现管理者对贩卖机的管理。

     

    2.5贩卖机维修

    功能:准确地通知维修人员对贩卖机进行维修

    模式:职责链模式

    模式优点: 用户无需知道需要通知哪些技术人员来维修,它将请求的发送者和接收者解耦 ,简化了对象,使得对象不需要知道链的结构 ,允许动态地新增或者删除责任链 。

     

     实验报告与源码下载链接:

     链接: https://pan.baidu.com/s/17AzAJfVtu4Rsd9AfdpQ_yQ  提取码: kh4n

    转载注明:https://www.cnblogs.com/MiraculousB/p/13518052.html

  • 相关阅读:
    Java实现 LeetCode 437 路径总和 III(三)
    Java实现 LeetCode 436 寻找右区间
    Java实现 LeetCode 436 寻找右区间
    Java实现 LeetCode 436 寻找右区间
    Java实现 LeetCode 435 无重叠区间
    Java实现 LeetCode 435 无重叠区间
    Makefile第一讲:一个简单的Makefile
    GCC常用参数
    GCC参数详解
    linux .o,.a,.so文件解析
  • 原文地址:https://www.cnblogs.com/MiraculousB/p/13518052.html
Copyright © 2011-2022 走看看