当前位置: 首页 > 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.pierceye.com/news/321578/

相关文章:

  • ps临摹网站营销型网站传统网站
  • 对电子商务网站建设和管理的理解学网站开发应该学什么软件
  • 建设网站的app英文成品网站模板下载
  • 破解版软件下载网站网站图片处理方案
  • 安徽网站建设方案服务汉中建设工程招标网
  • 网站建设公司企业模板下载阿里巴巴官网国际站
  • icp备案网站信息修改百度小说排行榜总榜
  • 崇明专业网站建设做网站后台要学什么
  • 专门做搜索种子的网站有哪些吉林平台网站建设多少钱
  • seo网站优化案例高端品牌裙子
  • 合肥需要做网站的公司无锡工程建设信息网站
  • 网站服务器有哪几种做招聘网站没有数据
  • 合肥手机网站制作建设自己做视频的网站
  • 公司网站备案名称广东建设项目备案公示网站
  • 网站建设设计维片长治网站建设公司
  • 商务网站建设兴田德润电话多少世界著名网站开发语言
  • 湖北网站建设公司微信手机网站设计
  • 徐州网站制作需要多少钱网站规划设计方案
  • 设计师常用网站门户重庆注册公司流程和费用标准
  • 网站图片太多怎么优化全民推广
  • 湖南做网站 e磐石网络做网站网站盈利会怎么样
  • 网站关闭流程保定风泉网络科技有限公司
  • 学做网站视频工作室网站需要备案吗
  • 个人网站 后台管理咸阳网站建设xymokj
  • 安阳淘宝网站建设保障性租赁住房管理平台
  • 建设银行网站最近都打不开吗在线设计网名生成器
  • 淮滨网站建设公司建设银行有招投标网站吗
  • 岳阳做公司网站可以做司法考试题的网站
  • 深圳做网站联雅asp.net网站很快吗
  • 网站制作公司交接网站网站建设 上海浦东