嘿嘿..新手,求高手指导思路!~
设计题目:夏日麽麽茶在一个茶庄(TeaStall)所使用的系统里,有各种风味的名茶。
茶(Tea)在系统中要用一个类代表,它有一个属性(Flavor)。
茶庄的菜单(TeaMenu)在系统中以用类来表示,也可用接口来实现。其中包含了茶庄中可供顾客点的茶。比如"西湖龙井","洞庭碧螺春","白毫银针","君山银针","黄山毛峰 ","武夷岩茶","安溪铁观音","信阳毛尖","庐山云雾","六安瓜片"等。
茶庄的沏茶员(InfuseMan)是系统中的一个类,他可以根据侍者(Waitor)所下的单,冲泡各种风味的茶,如果订单中风味的茶已沏好,就直接为侍者提供(getTea())茶;如果还没沏好则先冲泡再给侍者提供。沏茶员负责维护茶壶柜(teapotCabinet)和冲泡好的风味数(totalFlavors),这些都可作为沏茶员的属性来维护。由于一个茶庄所能提供的风味数是没有限制的,所以茶壶柜(teapotCabinet)应该能动态调整大小,以容纳下未知数量的茶壶,这可以由一个向量Vecotor来实现。闭店时,沏茶员可以统计(getTotalFlavors())一天冲泡的风味数。
茶客(TeaClient)也是系统中的一个类,他最喜欢的风味(favoriteFlavor)是一个属性。茶客每天根据菜单点(whatIsYourFavoriteFlavor())适合自己心情的茶。
侍者(Waitor)也是一个类,他担负着茶客和沏茶员之间的桥梁。他询问茶客最喜欢的风味,并根据顾客的要求下单(takeOrder())给沏茶员,从沏茶员那里接过茶杯放于茶盘(TeacupTray)上,茶盘也可以用一个向量Vector来表示,作为侍者的一个属性由侍者维护。侍者将茶盘上的茶杯端给(serveTeacup())顾客。侍者会在一天中,统计自己易做图过的订单数(totalOrders),这可作为侍者的一个属性实现,并在闭店时,统计(getTotalOrders())服务的订单数。
茶庄(TeaStall)也是系统中的一个类,它聚集了菜单、沏茶员、侍者、顾客,它在创建时会指定一个可容纳的最多顾客数(CLIENT_MAX_NUM),每天开店(open())时,派出一位沏茶员和一位侍者,并接待最多数量的顾客。侍者迎接顾客,为顾客下单,沏茶员沏好茶后,侍者会用茶盘将茶端给顾客。每天闭店(close())后,会统计当天的订单数和沏茶风味数。
要求:你可能玩过大富翁、主题公园、主题医院等策略游戏,这个茶庄系统,就是这类游戏的一个原型,请你根据上述脚本,用Java语言设计这个主题茶馆,发挥你的想象力吧!
茶,
香叶,嫩芽,
慕诗客,爱僧家。
碾雕白玉,罗织红纱。
铫煎黄蕊色,碗转曲尘花。
夜后邀陪明月,晨前命对朝霞。
洗尽古今人不倦,将至醉后岂堪夸
--------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 这个设计到许多设计模式吧? --------------------编程问答-------------------- 建议你去看看head first这本书,里面有这样的实例 --------------------编程问答-------------------- 嗯哪谢谢 --------------------编程问答-------------------- 这是个挺有意思的事情,值得好好想想。
补充:Java , Eclipse