概述
1.小明准备使用面向对象的方法设计一个快餐店的简单游戏,游戏中有顾客、服务员、菜品和厨师。每个顾客都有一个服务员帮助点菜,并且可以点多个菜;每道菜都由指定厨师制作不同的菜可能由不同的厨师制作;顾客跟服务员点完菜后,服务员通知后厨做菜。请帮助小明选择一个合适的模式进行设计。
分析:
选用外观模式,顾客通过服务员点餐与后厨做菜分离,在Server类里建立菜单,不同的菜与不同的厨师对应
这里给出Server类设计,Cooker类即为子系统
package pre.test6;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
public class Server {
private HashMap<String,Cooker>map=new HashMap<>();
private List<String> ordered=new LinkedList<>();
Server(){
map.put("cook1", new Cooker("Cooker1","cook1"));
map.put("cook2", new Cooker("Cooker2","cook2"));
map.put("cook3", new Cooker("Cooker3","cook3"));
map.put("cook4", new Cooker("Cooker4","cook4"));
}//用于维系菜单表,这里由于厨师是一类,对应方法类似,
public void order(String s) {
ordered.add(s);
}
public void methon() {
String s;
Cooker cooker;
for(int i=0;i<this.ordered.size();i++) {
s=ordered.get(i);
cooker=map.get(s);
if(cooker!=null) {
cooker.cooked();//用于调用对应方法
}
else {
System.out.println("Haven't "+s);
}
}
}
}
最后
以上就是优秀电灯胆为你收集整理的设计模式作业6的全部内容,希望文章能够帮你解决设计模式作业6所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复