餐厅的点菜过程如下面的UML顺序图所示,现采用命令(Command)模式来实现该

考试题库2022-08-02  23

问题 餐厅的点菜过程如下面的UML顺序图所示,现采用命令(Command)模式来实现该场景。那么下面顺序图中,与命令模式中的类“Command”对应的类是(  );与类Receiver对应的类是(  )。问题1选项A.CookB.CustomerC.OrderD.Waitress问题2选项A.CookB.CustomerC.OrderD.Waitress

选项

答案 CA

解析 命令(Command)模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解耦,提供更大的灵活性和可扩展性。Command模式的结构如下图所示。其中,类Command声明执行操作的接口;ConcreteCommand将一个接收者对象绑定于一个动作,并调用接收者相应的操作,以实现execute方法;类Client创建一个ConcreteCommand对象并设定它的接收者;类Invoker要求Command执行这个请求;类Receiver知道如何实施与执行一个请求相关的操作。任何类都可能作为一个接收者。在“点菜”这个实例中,订单是厨师(Cook)与action(按订单加工)之间的绑定,厨师接受订单并对之负责。所以在该实例中,与Command类对应的类是“Order”,与Receiver对应的类是“Cook”。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2401535.html

最新回复(0)