面向设计大作业——公司餐厅

1.功能调查与系统功能框架图


Gitee:https://gitee.com/wangyanyuvc/regectory/tree/master

2.类的设计

3.类说明

1.Dish

Dish类是存储菜品信息,number表示菜品编号,name表示菜品名称,price表示菜品价格,vipprice则表示菜品的会员价。

2.Menu

Menu类存储菜单,dish是一个嵌套类,使用map的形式来存储菜单。
方法:addDish是添加菜品,dishExist判断菜品是否存在,showAll显示菜品信息,deleteProduct删除菜品

3.SingleItem

SingleItem类是存储单品,即单个菜品的信息,dish是一个嵌套类,count就是菜品的数量。
方法:subtotal小计,msubtotal会员的小计

4.Individualorder

Individualorder类是存储个人订单的,payment表示订单的状态,即订单是支付状态还是未支付状态。同样用map来存储。
方法:addSingleItem添加单品,dishExist判断单品是否存在,showAll显示员工的所有单品,mshowAll显示会员的所有单品,deleteSingleItem删除单品,modifySingleItem修改菜品数量,totalAllMoney计算总价,mtotalAllMoney计算总价(会员),clearOrder清空订单

5.Staff和Member

Staff类和Member类,其中Member类继承自Staff类,Member有一个优惠,就是含有折扣券即coupon,使用一次可打八折。

6.Ui

Ui类就是存储界面,欢迎界面,商家界面以及用户界面。
方法:WelcomeView欢迎界面,BusinessView商家模式界面,UserView用户模式界面

7.BusinessTest和UserTest

BusinessTest类和UserTest类是这两个功能的汇总,即使用。
方法:businessTest商家的操作功能整理,userTest用户的操作功能整理

8.RegectoryDao和File

RegectoryDao是Dao接口,涉及文件的读取方法,具体在File类中实现。
方法:MenuInput读取Menu,MenuOutput存储Menu,StaffInput读取Staff,MemberInput读取Member,MemberOutput存储Member

4.系统的包的规划设计

5.特色

1.使用了DAO模式

目前使用的是文件的读取存储到map中,以后如果要改成其他方式,不需要重写原代码,只要写新的实现类。

2.实现了数据持久化(数据存储)

使用文本.txt的形式存储菜单信息,以及员工和会员的信息。

3.已完成大部分功能,通过控制台操作,简单演示如下:


原文地址:https://www.cnblogs.com/yyzhu/p/14103652.html