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

中国石油工程建设协会网站如何提高关键词搜索排名

中国石油工程建设协会网站,如何提高关键词搜索排名,市场监督管理局官网入口,展厅设计公司推荐去小餐馆吃饭的时候#xff0c;顾客直接跟厨师说想要吃什么菜#xff0c;然后厨师再开始炒菜。去大点的餐馆吃饭时#xff0c;我们是跟服务员说想吃什么菜#xff0c;然后服务员把这信息传到厨房#xff0c;厨师根据这些订单信息炒菜。为什么大餐馆不省去这个步骤#xf… 去小餐馆吃饭的时候顾客直接跟厨师说想要吃什么菜然后厨师再开始炒菜。去大点的餐馆吃饭时我们是跟服务员说想吃什么菜然后服务员把这信息传到厨房厨师根据这些订单信息炒菜。为什么大餐馆不省去这个步骤像小餐管那样点菜呢原因主要有以下几点 提供效率。厨师专注炒菜就行而不必花时间跟客户接触。各司其职提高服务质量。厨师擅长炒菜而服务员擅长跟顾客打交道。使工作有条不紊的进行。不会像小餐馆那样来了个新客户需要马上停止炒菜去招呼客人而另一边客户要在催着上菜。阻断客户与厨师的接触。客户无须知道炒菜的厨师是谁厨师也不需要知道他为谁炒的菜。 在这里服务员发挥着“命令”的作用将客户的命令传递给厨师厨师做出相应。而这种模式是一种“命令模式”。 1 命令模式概述 引入一个命令类通过命令类来降低发送者和接收者的耦合度。将一个请求封装成一个命令对象发送者只需指定一个命令对象再通过命令对象来调用请求接收者的处理方法。 图 命令模式结构图 Command抽象命令类一般是抽象类或接口。声明了用于执行请求的execute()等方法通过这些方法可调用请求接收者相关操作。 ConcreteCommand具体命令类对应具体接收者对象维护了一个接收者对象的引用在实现execute()方法时将调用接收者对象的相关操作(action()方法等)。 Invoker调用者即请求发送者。通过命令对象来执行请求。 Reciver接收者执行与请求相关的操作具体实现对请求的业务处理。 public interface Command {String getName();void makeOrder(String name);}public class WaiterCommand implements Command{private final String name;private CookReceiver cookReceiver;public WaiterCommand(String name, CookReceiver cookReceiver) {this.name name;this.cookReceiver cookReceiver;}public void setCookReceiver(CookReceiver cookReceiver) {this.cookReceiver cookReceiver;}Overridepublic String getName() {return name;}Overridepublic void makeOrder(String name) {System.out.print( cookReceiver.getName() );cookReceiver.cooking(name);}} public class CookReceiver {private final String name;public CookReceiver(String name) {this.name name;}public String getName() {return name;}public void cooking(String name) {System.out.println(开始做菜 name);}} public class CustomerInvoker {private Command waiter;public CustomerInvoker(Command waiter) {this.waiter waiter;}public void changeWaiter(Command waiter) {this.waiter waiter;}public void makeOrder(String name) {System.out.print(waiter.getName() 为客户下单);waiter.makeOrder(name);}} public class Client {private final static ListCommand waiterList new ArrayList();static {CookReceiver cook1 new CookReceiver(黄师傅);CookReceiver cook2 new CookReceiver(刘师傅);waiterList.add(new WaiterCommand(小李,cook1));waiterList.add(new WaiterCommand(小张,cook2));waiterList.add(new WaiterCommand(小王, cook1));}public static void main(String[] args) {String[] menu {辣椒炒肉,剁椒鱼头,清蒸豆腐,爆炒花甲,酸辣螺蛳粉};Random random new Random();for (int i 0; i 6; i) {CustomerInvoker invoker new CustomerInvoker(waiterList.get(random.nextInt( waiterList.size())));invoker.makeOrder(menu[random.nextInt(menu.length)]);System.out.println(--------------);} // 运行结果 // 小王为客户下单 黄师傅开始做菜酸辣螺蛳粉 // -------------- // 小王为客户下单 黄师傅开始做菜辣椒炒肉 // -------------- // 小张为客户下单 刘师傅开始做菜剁椒鱼头 // -------------- // 小张为客户下单 刘师傅开始做菜爆炒花甲 // -------------- // 小王为客户下单 黄师傅开始做菜辣椒炒肉 // -------------- // 小王为客户下单 黄师傅开始做菜酸辣螺蛳粉 // --------------}} 命令模式的本质是对请求进行封装一个请求对应一个命令。将发送命令与执行命令分割开但不能减少类的数量。 1.1 命令队列 一个请求发送者发送一个请求时不止一个请求接收者产生响应这些接收者将逐个执行业务方法完成对请求的处理。 图 命令队列结构图 2 优缺点 优点 降低系统的耦合度请求者与接收者之间完全解耦相同的请求者可对应不同的接收者。同样相同的接收者也也可以供不同的请求者使用两者具有良好的独立性。新的命令可用很容易地加入系统中。增加新的具体命令不会影响其他类符合开闭原则。笔记容易设计一个命令队列或宏命令。为请求的撤销和恢复操作提供了一种设计和实现方案。 缺点 1会导致系统有过多的具体命令类。 3 适用场景 需要将请求调用者和请求接收者解耦。系统需要支持命令的撤销和恢复操作。需要将一组操作组合在一起形成宏命令。需要在不同的时间指定请求、将请求排队和执行请求。一个命令对象和请求的初始调用者可以有不同的生命期。即最初的请求发出者可能已经不在了而命令对象本身仍然是活动的。可以通过该命令对象去调用请求接收者而无须关系请求调用者的存在性可以通过请求日志等机制来具体实现。
http://www.zqtcl.cn/news/321578/

相关文章:

  • 华企立方做网站自己动手做导航网站
  • 如何建设教师网上授课网站重庆建设网站哪家专业
  • 企业网站页头背景图建设三轮摩托车官网
  • 直播网站创做上海idc机房托管
  • 受欢迎自适应网站建设地址c2c二手车交易平台
  • 做个平台网站怎么做房价查询
  • 自学网站建设最快要多久asp.net 手机网站开发
  • 淮安做网站找哪家公司verycloud wordpress
  • 无法连接到wordpress站点网站建设的 几点
  • 网站免费空间购买wordpress支持页面模版
  • 腾讯建设网站视频宁波城乡住房建设厅网站
  • 乐清网站开发公司个人网站建设工作室
  • 网站空间升级通知手机端怎么看世界杯
  • 广西南宁网站推广建设网站视频教程
  • 福州专业网站建设推广费用nas可做网站服务器吗
  • 齐鲁建设网站福建省高速公路建设管理网站
  • 比格设计网站官网收录网站查询
  • 国外做直播网站淘宝电商网站怎么做的
  • 国外私人网站网站由那些组成
  • 网站备案多久通过机械设备网站
  • 企业自建站案例网站基础知识域名5个点
  • 咸宁建设网站海口市网站建设
  • 认识电子商务网站建设技术网站交换链接怎么做?
  • 定制商城网站建设全球搜索引擎排名2021
  • 徐州百度网站快速优化做网站视频图片加载不出来
  • 网站被host重定向处理浙江网新股吧
  • asp国外网站什么页游好玩
  • 高端简约30平米办公室装修广州搜索seo网站优化
  • 海口的网站建设公司wordpress二次元极简主题
  • 南京快速建站公司国家网站域名