当前位置: 首页 > news >正文

网页模板网站生成活动推广方案怎么写

网页模板网站生成,活动推广方案怎么写,win7 网站系统怎么做,北京网站优化企业1 命令模式介绍 2 命令模式原理 3 命令模式实现 模拟酒店后厨的出餐流程,来对命令模式进行一个演示,命令模式角色的角色与案例中角色的对应关系如下: 服务员: 即调用者角色,由她来发起命令. 厨师: 接收者,真正执行命令的对象. 订单: 命令中包含订单 /*** 订单类**/ public cl…
1 命令模式介绍

在这里插入图片描述

2 命令模式原理

在这里插入图片描述
在这里插入图片描述

3 命令模式实现

模拟酒店后厨的出餐流程,来对命令模式进行一个演示,命令模式角色的角色与案例中角色的对应关系如下:
服务员: 即调用者角色,由她来发起命令.
厨师: 接收者,真正执行命令的对象.
订单: 命令中包含订单

/*** 订单类**/
public class Order {private int diningTable;  //餐桌号码private Map<String,Integer> foodMenu = new HashMap<>();  //存储菜名和份数public int getDiningTable() {return diningTable;}public void setDiningTable(int diningTable) {this.diningTable = diningTable;}public Map<String, Integer> getFoodMenu() {return foodMenu;}public void setFoodMenu(Map<String, Integer> foodMenu) {this.foodMenu = foodMenu;}
}
/*** 厨师类 -> Receiver接收者角色**/
public class Chef {public void makeFood(int num , String foodName){System.out.println(num + "份, " + foodName);}
}
/*** 抽象命令接口**/
public interface Command {void execute(); //统一的执行方法
}
/*** 具体命令**/
public class OrderCommand implements Command {//接收者对象的引用private Chef receiver;private Order order;public OrderCommand(Chef receiver, Order order) {this.receiver = receiver;this.order = order;}@Overridepublic void execute() {System.out.println(order.getDiningTable() + "桌的订单: ");Set<String> keySet = order.getFoodMenu().keySet();for (String key : keySet) {receiver.makeFood(order.getFoodMenu().get(key),key);}try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(order.getDiningTable() + "桌的菜品已经上齐!");}}
/*** 服务员 -> Invoker 调用者**/
public class Waiter {//可以持有多个命令对象private ArrayList<Command> commands;public Waiter() {this.commands = new ArrayList<>();}public Waiter(ArrayList<Command> commands) {this.commands = commands;}public void setCommand(Command command) {this.commands.add(command);}//发出指令public void orderUp(){System.out.println("叮咚! 服务员: 有新的订单,请师傅开始制作......");for (Command command : commands) {if(command != null){command.execute();}}}
}
public class Client {public static void main(String[] args) {Order order1 = new Order();order1.setDiningTable(10);order1.getFoodMenu().put("鲍鱼炒饭",1);order1.getFoodMenu().put("海参炒面",1);Order order2 = new Order();order2.setDiningTable(15);order2.getFoodMenu().put("回锅肉盖饭",1);order2.getFoodMenu().put("木须肉盖饭",1);//创建接收者Chef chef = new Chef();//将订单和接收者封装成命令对象OrderCommand cmd1 = new OrderCommand(chef, order1);OrderCommand cmd2 = new OrderCommand(chef, order2);//创建调用者Waiter waiter = new Waiter();waiter.setCommand(cmd1);waiter.setCommand(cmd2);//将订单发送给厨师 上菜waiter.orderUp();}
}
4 命令模式总结

在这里插入图片描述
在这里插入图片描述

http://www.khdw.cn/news/25921.html

相关文章:

  • 合肥新站开发区管委会网站广州seo培训
  • 百度做的网站直通车优化推广
  • 河北网站备案查询系统网络营销战略的内容
  • 深圳福田专业网站建设账号权重查询入口站长工具
  • 旅游网站设计思路精准信息300099
  • 十堰h5网站建设友情链接平台广告
  • 手机网站生成代码郴州seo外包
  • 用asp做网站网络营销软文范例300
  • 外贸商城网站系统电商关键词查询工具
  • 郑州seo招聘三台网站seo
  • 网站月流量5g简短的软文范例
  • 青岛网站公司哪家好一个新手如何推销产品
  • 网站的技术支持列举常见的网络营销工具
  • 不写编程可以做网站建设电子商务网站建设案例
  • 武汉做网站要多少钱推广app赚钱的平台
  • 官网应用商店下载重庆seo报价
  • 怎么在欧美做网站推广高端网站建设南宁
  • 定制网站建设与运营案例怎样建立网站平台
  • wordpress 站点竞价推广是什么意思
  • 政府网站怎么做seo网站优化培训厂家报价
  • 做网站 注册那类的商标长尾关键词挖掘爱站工具
  • 顺德网站制作公司哪家好商城网站开发公司
  • ip做网站需要过白名单吗win7怎么优化最流畅
  • app的网站域名济南特大最新消息
  • 河南免费网站建设alexa
  • 深圳哪家公司做网站网页一键生成app软件
  • 深圳福田建设局网站首页网络营销推广方案策划
  • 做网站英文怎么写怎么从网上找国外客户
  • 可以自己做安卓app的网站做抖音seo排名软件是否合法
  • 新蔡哪有做网站建设的网络营销的10个特点