设计模式大作业:在线制作方便面
需求描述
做一个在线制作方便面的网站。首先进入系统你能够选择在线制作方便面,进入该模块系统会初始化系统的对象,并且会自动创建一个面饼,然后可以选择吃面的容器,容器有碗和盆,再选择水,水有纯净水、牛奶和可乐,还需要选择配料,配料有香肠,鸡蛋,牛肉,番茄。牛奶、鸡蛋、香肠、牛肉、番茄是需要开通vip,开通vip不需要任何条件,只需要点击开通vip即可。如果在首页点击的是水和配料的简介时,进入水和配料的简介界面。
系统描述
- 应用场景描述
基于servlet的在线制作方便面游戏 - 设计模式选择
外观模式,工厂模式,单例模式,观察者模式,策略模式 - 实现语言与工具
Java、Servlet、Vue、idea
需求分析
用例图
1、点击食材信息展示能展示食材信息
2、点击制作方便面选项,能进入制作页面,选择想要的食材然后传入后端。
3、点击升级vip功能,能够选择更多的食材
4、点击今日制作方便面,能够将选择的食材放入选择的容器中并且煮
5、选择制作方便面之后,就能看到评分和评价
选用的设计模式
工厂模式,单例模式,外观模式,策略模式,观察者模式
1、系统中的水和配料和吃面的容器对象的创建使用工厂模式来创建。
2、并且水和配料对象我只创建一个,用户在使用这些对象都是唯一的,即用户对同一个对象进行操作使用的是单例模式。
3、在用户进入首页时,可以进入两个系统模块,一个是制作方便面,一个时进入水和配料的介绍,使用了外观模式,在处理首页请求时,进行初始化操作,然后根据需要重定向到特定的页面
4、对于是否升级vip使用观察者模式,处理首页的servlet将需要开通vip的对象放入观察者集合里面,并且使用策略1将观察者的open字段设置为false。在点击升级vip之后使用策略2,将观察者的open字段设置为true
5、在打分和评价中使用策略模式,如果选择的时碗就使用策略1,将重新new出来的碗加入用户选择的水和配料。如果人用户选择的时盆使用策略2,将重新new出来的盆加入用户选择的水和配料。
系统功能模块设计
类图
工厂模式类图
策略模式视图
观察者模式类图
系统演示
模块1
模块2
未开通vip,不能选择vip食材
点击开通
选择之后完成
代码和文档在百度网盘
**如果有帮助到你点个赞吧 **
百度网盘链接:https://pan.baidu.com/s/1Dy9sAYfmAjAXzkSBhzGmqA
提取码:k6n8
设计模式大作业:在线制作方便面相关推荐
- 软件工程大作业——在线零食销售系统
软件工程大作业 在线零食销售系统 (Online snack sales system) 目 录 第1章 引言 1.1 研究背景 1.2 国内外研究现状 1.3 目标和意义 第2章 可行性分析 2. ...
- 设计模式大作业动物运动会系统【多种设计模式+文档】
目录 一.项目简介 二.Design Pattern 汇总表 三.设计模式详述 3.1 Abstract Factory 3.1.1 AbstractFactoryTest 实现 API 3.1.2 ...
- 北邮JAVA高级语言程序设计(选修课)设计模式大作业
北邮JAVA高级语言程序设计(选修课)设计模式大作业 题目描述: 设计模式一(单子.工厂.策略模式)练习 1. 假设现在要设计一个贩卖各类书籍的电子商务网站的购物车系统.对所有的教材类图书 实行每本一 ...
- web前端期末大作业 在线电影网页设计与制作 HTML+CSS+JavaScript仿叮当电影网页制作
HTML实例网页代码, 本实例适合于初学HTML的同学.该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代 ...
- HTML期末学生大作业-在线电影网站html+css+javascript
html网页制作期末大作业--电影网站html+css+javascript 5个页面适用学生作业 课程设计在线电影影网.期末作业电影网.毕业设计在线电影网 部分页面截图 部分源代码 <!DOC ...
- 2018 C语言大作业--21_Ekko制作教程
同学们实现的效果: Ekko C语言大作业 以下是开发同学的相关文档: <Ekko>设计报告 本组设计并编写的游戏<Ekko>,是一款引用了当下红火的网络游戏<英雄联盟& ...
- web前端期末大作业——网页制作基础大二dw作业——动画漫展学习资料电影模板(6页)
HTML实例网页代码, 本实例适合于初学HTML的同学.该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代 ...
- 1小时,不会代码的我如何完成 网易云音乐 大作业网页制作?(IVX 第2篇)
作者简介 作者名:1_bit 简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者.15-16年曾在网上直播,带领一批程序小白走上程序员之路.欢迎各位小白加我咨询我相关信息,迷茫的你会找到 ...
- c语言大作业_2018 C语言大作业--21_Ekko制作教程
同学们实现的效果: https://www.zhihu.com/video/1066249425780809728 以下是开发同学的相关文档: <Ekko>设计报告 本组设计并编写的游戏& ...
最新文章
- Win10环境Tensorflow-GPU13.1/JupyterNotebook的安装
- 最新!QS发布2021亚洲大学排行榜!清华第二,浙大、复旦力压北大
- matlab oqpsk,如何用MATLab画OQPSK星座?
- Oracle中去重复记录 不用distinct
- 死磕java_死磕JavaScript-垃圾收集机制
- 在JSF 2中对定制验证器进行参数化
- 快速入门:github发布windows版
- AS3还可以通过CDATA标签声明多行字符串
- mysql的游标处理_MySQL存储过程 游标 错误处理的示例代码
- 随笔(3)——智慧医养融合:从智能交互到交互智能
- Android屏幕旋转-横屏竖屏切换
- Linux系统中文件颜色分别代表什么?
- 计划招收300人,复旦大学计算机学院2022年夏令营来袭
- CPU-Z查看内存条信息
- 大数高精度加减、乘除、开根(C++版全套最详细、最易懂)
- 《嵌入式系统设计师》笔记之一——嵌入式系统基础知识
- Python | 人脸识别系统 — 用户操作
- 自学Python去接单,一周就能赚取近1200块,你看不起的行业,真的很赚钱!
- [MIT6.006 算法导论] 1. Peak Finding 寻峰
- Linux命令学习资料总结