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

题目

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

(30)

A. Command

B. MenuItem

C. Open

D. BulktinBoardScreen

(31)

A. Command

B. MenuItem

C. Open

D. BulktinBoardScreen


相似考题
更多“ ● 某软件公司欲开发一个 Windows 平台上的公告板系统。在明确用户需求后,该公司的架构师决定采用 Command 模式实现该系统的界面显示部分,并设计 UML 类图如下图所示。图中与 Command 模式中”相关问题
  • 第1题:

    下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是(请作答此空)关系。

    A.依赖
    B.关联
    C.继承
    D.聚合

    答案:D
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。命令模式:将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第2题:

    下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteCommand和Command之间是(请作答此空)关系,Invoker和Command之间是( )关系。

    A.依赖
    B.关联
    C.继承
    D.聚合

    答案:C
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。命令模式:将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第3题:

    某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的“Abstraction”角色相对应的类是(6),与“Implementor”角色相对应的类是(7)。【回答括号6】


    A. Shape
    B. Drawing
    C. Rectangle
    D. V2Drawing

    答案:A
    解析:
    桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。

    ·Abstraction定义抽象类的接口;维护一个指向Implementor类型对象的指针。

    ·RefinedAbstraction扩充由Abstraction定义的接口。

    ·Implementor定义实现类的接口,该接口不一定要与Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来说,Implementor接口仅提供基本操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。

    ·ConcreteImplementor实现Implementor接口并定义它的具体实现。

    图中与Bridge模式中的“Abstraction”角色相对应的类是Shape,与“Implementor”角色相对应的类是Drawing。

  • 第4题:

    阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。
    【说明】
    某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如下图所示。



    Command?模式类图




    答案:
    解析:
    (1)interface Command
    (2)light.on()
    (3)light.off()
    (4)onCommands[slot]
    (5)offCommands[slot]
    (6)onCommands[slot].execute()
    (7)offCommands[slot].execute()

  • 第5题:

    某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用Bridge模式实现该软件,并设计UML类图如下图所示。图中与Bridge模式中的“Abstraction”角色相对应的类是(6),与“Implementor”角色相对应的类是(7)。【回答括号7】


    A. Shape
    B. Drawing
    C. Rectangle
    D. V2Drawing

    答案:B
    解析:
    桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。

    ·Abstraction定义抽象类的接口;维护一个指向Implementor类型对象的指针。

    ·RefinedAbstraction扩充由Abstraction定义的接口。

    ·Implementor定义实现类的接口,该接口不一定要与Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来说,Implementor接口仅提供基本操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。

    ·ConcreteImplementor实现Implementor接口并定义它的具体实现。

    图中与Bridge模式中的“Abstraction”角色相对应的类是Shape,与“Implementor”角色相对应的类是Drawing。