问题 单项选择题

试题(1)、(2) 餐厅的点菜过程如下面的UML顺序图所示,现采用命令(Command)模式来实现该场景。那么下面顺序图中,与命令模式中的类Command对应的类是____(1)____;与类Receiver对应的类是____(2)____。

2()

A.Cook

B.Customer

C.Order

D.Waitress

答案

参考答案:A

解析:

试题(1)、(2)分析 命令(Command)模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤消的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解辊,提供更大的灵活性和可扩展性。 Command模式的结构如下图所示。

其中: ·类Command声明执行操作的接口; ·ConcreteCommand将一个接收者对象绑定于一个动作,并调用接收者相应的操作,以实现execute方法; ·类C1ient创建一个ConcreteCommand对象并设定它的接收者; ·类Invoker要求Command执行这个请求; ·类Receiver知道如何实施与执行一个请求相关的操作。任何类都可能作为一个接收者。 在“点菜”这个实例中,订单是厨师(Cook)与action(按订单加工)之间的绑定,厨师接受订单并对之负责。所以在该实例中,与Command类对应的类是Order,与Receiver对应的类是Cook。

单项选择题
多项选择题