C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物
Posted Pistachiout
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物相关的知识,希望对你有一定的参考价值。
一、设计内容及要求
- .该课程设计的基本目标:
1.掌握系统分析与设计的基本概念和方法。
2.掌握23种设计模式的基本概念。
3.掌握设计模式的常用方法和C++语言的编程实现。
4.了解在软件开发过程中所面临的问题的最佳解决方案,通过一种简单快捷的方式来学习软件设计。 - 该课程设计要求开发一个小型的应用程序,其内容来源于:
1.对于该课程的相应的实验报告的内容的扩展。
2.本科学习阶段开发过的系统的重要部分的改造或代码重构。
3.设计者自己全新构造的小系统。 - 该课程设计的主要要求:
1.要求设计的小系统包含至少3个该课程中提及的设计模式。
2.设计的小系统包含简单的应用界面。
系统开发的程序设计语言不限。
二、系统的主要目标与功能
在本次设计中,考虑到目前超市都流行在线购物,于是我设计了一个超市在线网上购物的系统,这个系统的主要目标是帮助人们在家里购买自己需要的套餐,充值账户,同时该系统能查看自己的历史金额变动记录,也能够撤销前一次购买或充值,这样能够帮助没有时间的人们快速购物,也能够减少疫情期间出门购物的可能带来的危害。
本超市目前功能如下
- 查看超市套餐
- 购买超市套餐"
- 给账户充值
- 查看历史余额记录
- 撤回上次存款或消费
- 退出本超市在线购物系统
三、系统中使用的设计模式(详细描述场景、解决的问题、模式的效果及意义)
•1.状态模式:
状态模式在购物时提供用户信息和余额的信息,允许购买后余额少于0,但当余额少于0后不能购买。在进入程序时便初始化账户,通过这个账户记录余额信息,同时考虑到余额不足时不能购物,考虑到方便,设计余额不足购买时允许赊欠,但当前余额小于0时不能购物,这样是考虑到实际,余额小于0时是不能购买的,因此使用状态模式。
•2.建造者模式:
建筑者模式用于构建不同的购买套餐,帮助快速购买,并且使客户便于查看各个套餐的内容与价格便于购买。
•3.观察者模式:
在进入系统时会有弹窗信息提醒客户套餐的信息,并提醒客户注意财产安全,这样是考虑到现实中大部分应用都会在初次使用时提醒使用者。
•4.单例模式:
只允许创建一个超市类,且该超市类是建造者模式的指挥者,指挥套餐的建立。
•5.备忘录模式:
记录在系统中的余额变动历史记录,并可以撤销上一次余额变动的操作,在现实中大部分购物应用都可以查看历史记录与撤销,因此利用备忘录模式实现该操作,便于观察余额变化。
项目源码:
https://github.com/1105358600/DesignPattern
以上是关于C++状态模式,建造者模式,观察者模式,单例模式,备忘录模式实现超市购物的主要内容,如果未能解决你的问题,请参考以下文章