我是靠谱客的博主 优秀电灯胆,最近开发中收集的这篇文章主要介绍设计模式作业6,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部