C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物

Posted Pistachiout

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物相关的知识,希望对你有一定的参考价值。

一、设计内容及要求

  1. .该课程设计的基本目标:
    1.掌握系统分析与设计的基本概念和方法。
    2.掌握23种设计模式的基本概念。
    3.掌握设计模式的常用方法和C++语言的编程实现。
    4.了解在软件开发过程中所面临的问题的最佳解决方案,通过一种简单快捷的方式来学习软件设计。
  2. 该课程设计要求开发一个小型的应用程序,其内容来源于:
    1.对于该课程的相应的实验报告的内容的扩展。
    2.本科学习阶段开发过的系统的重要部分的改造或代码重构。
    3.设计者自己全新构造的小系统。
  3. 该课程设计的主要要求:
    1.要求设计的小系统包含至少3个该课程中提及的设计模式。
    2.设计的小系统包含简单的应用界面。
    系统开发的程序设计语言不限。

二、系统的主要目标与功能

在本次设计中,考虑到目前超市都流行在线购物,于是我设计了一个超市在线网上购物的系统,这个系统的主要目标是帮助人们在家里购买自己需要的套餐,充值账户,同时该系统能查看自己的历史金额变动记录,也能够撤销前一次购买或充值,这样能够帮助没有时间的人们快速购物,也能够减少疫情期间出门购物的可能带来的危害。
本超市目前功能如下

  1. 查看超市套餐
  2. 购买超市套餐"
  3. 给账户充值
  4. 查看历史余额记录
  5. 撤回上次存款或消费
  6. 退出本超市在线购物系统

三、系统中使用的设计模式(详细描述场景、解决的问题、模式的效果及意义)

•1.状态模式:

状态模式在购物时提供用户信息和余额的信息,允许购买后余额少于0,但当余额少于0后不能购买。在进入程序时便初始化账户,通过这个账户记录余额信息,同时考虑到余额不足时不能购物,考虑到方便,设计余额不足购买时允许赊欠,但当前余额小于0时不能购物,这样是考虑到实际,余额小于0时是不能购买的,因此使用状态模式。

•2.建造者模式:

建筑者模式用于构建不同的购买套餐,帮助快速购买,并且使客户便于查看各个套餐的内容与价格便于购买。

•3.观察者模式:

在进入系统时会有弹窗信息提醒客户套餐的信息,并提醒客户注意财产安全,这样是考虑到现实中大部分应用都会在初次使用时提醒使用者。

•4.单例模式:

只允许创建一个超市类,且该超市类是建造者模式的指挥者,指挥套餐的建立。

•5.备忘录模式:

记录在系统中的余额变动历史记录,并可以撤销上一次余额变动的操作,在现实中大部分购物应用都可以查看历史记录与撤销,因此利用备忘录模式实现该操作,便于观察余额变化。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目源码:

https://github.com/1105358600/DesignPattern

以上是关于C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物的主要内容,如果未能解决你的问题,请参考以下文章

编程经常使用设计模式具体解释--(上篇)(工厂单例建造者原型)

设计模式之——单例模式

软件设计模式

设计模式之单例模式

GOF 23种设计模式-单例模式

23种设计模式