日期:2014-05-19  浏览次数:20776 次

大家帮我分析一下
我以前是用DELPHI的。最近有个工程想用C#做(本人刚学习C#才一周)。工程是关于餐饮收费的。我简单的写了一下我的设计(不算是设计,准确说是自己的想法吧,由于不方便排版,请见谅)。请大家指点一下,谢谢!
1、
类:餐桌:Object
 字段:
   桌号
   状态(一个枚举类型包括:空闲、未结算、已结算)
            菜单(DataTable类型,表示已点的菜)
   消费单号
   位置
    方法:
   开台(将状态字段置为未结算,表示此桌正在营业)
   清台(将状态字段置为空闲)
   点菜(加菜)
   退菜
2、
由于一次消费可能有几桌客人。这些桌可能点的菜相同,也可能不同,结帐时也可能分开单独结算。.因此我设计时不把餐桌作为消费对象,再新建个“包席”类。这个类是多个餐桌的集合(当然也可能只有一桌)。
类:包席:Object
   字段:
   桌数
   桌号(一个数组);
            状态:(一个枚举类型包括:空闲、未结算、已结算)
   菜单(DataTable类型,表示所有餐桌已点的菜)
            费用(所有餐桌的费用)
            单号:(有相同单号的餐桌,被认为在同一个包席)
  方法:
            构造器(1、生成单号;2、开台,并将餐桌单号置为生成的单号)   
        开台(将同一个包席内的所有餐桌状态字段置为“未结算”,表示这些桌正在营业) 
   清台
   增加餐桌(新增餐桌到本包席内)
   分离餐桌
   点菜(加菜,可针对所有餐桌,也可针对个别单独餐桌)
   退菜
   生成单号
3、这样每些客人消费都针对于一次“包席”
类:消费:Object
 字段:
   包席单号
   菜单
   费用
   支付类型(一个枚举类型包括:现金、会员卡、挂帐)
   付费人(一个类)
 方法:
   构造器(置包席单号,费用)
            付费
4、
类:付费人:Object
(略)
5、
类:会员:付费人
(略)
请大家帮我分析一下啊。写得很简单
   
    
 


------解决方案--------------------
以前见过学校老师做的餐饮系统,感觉比LZ的麻烦很多,因为他的包括不同厨房出单等情况
个人想法,不成熟,还望高手指点哈

1.消费可以看作两种情况,一种是正常消费的,把每一桌的消费当作一个单独的事件处理(每次点菜针对一桌,每次结帐针对一桌),另一种是预约的,可以多桌,也可以单桌,这个比较麻烦,涉及到定时下单等问题,不过看简单一点就是预先点好菜,到时间发单到厨房,结帐的时候也是按单桌结帐

2.还没想好,在考虑,先写这些

以上