设计模式大作业:在线制作方便面

535 阅读3分钟

需求描述

做一个在线制作方便面的网站。首先进入系统你能够选择在线制作方便面,进入该模块系统会初始化系统的对象,并且会自动创建一个面饼,然后可以选择吃面的容器,容器有碗和盆,再选择水,水有纯净水、牛奶和可乐,还需要选择配料,配料有香肠,鸡蛋,牛肉,番茄。牛奶、鸡蛋、香肠、牛肉、番茄是需要开通vip,开通vip不需要任何条件,只需要点击开通vip即可。如果在首页点击的是水和配料的简介时,进入水和配料的简介界面。

系统描述

  1. 应用场景描述 基于servlet的在线制作方便面游戏
  2. 设计模式选择 外观模式,工厂模式,单例模式,观察者模式,策略模式
  3. 实现语言与工具 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食材

在这里插入图片描述

点击开通

在这里插入图片描述

选择之后完成

在这里插入图片描述

代码和文档在百度网盘

如果有帮助到你点个赞吧

百度网盘链接:pan.baidu.com/s/1Dy9sAYfm… 提取码:k6n8