问题 单项选择题

某软件公司欲开发一个Windows平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用Command模式实现该系统的界面显示部分,并设计UML类图如图所示。图中与Command模式中的“Invoker”角色相对应的类是(1),与“ConcreteCommand”角色相对应的类是(2)。

(1)是()

A.Command

B.MenuItem

C.Open

D.ButktinBoardScreen

答案

参考答案:B

解析:

Command(命令)模式是设计模式中行为模式的一种,它将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。Command模式也支持可撤销的操作。Command模式的类图如图所示。

对于题目所给出的图,与“Invoker”角色相对应的类是MenuItem,与“ConcreteCommand”角色相对应的类是Open。

Command模式具有以下优点。

①将调用操作的对象与知道如何完成该操作的对象相分离。

②更容易添加新命令,因为不用修改已有类。

在以下情况中,应该使用Command模式。

①想要通过要执行的动作来参数化对象。

②要在不同的时间指定、排序以及执行请求。

③必须支持Undo、日志记录或事务。

单项选择题 B1型题
填空题