更多“ 下图1中左边的UML类图描绘的是设计模式中的(1)模式。右边的UML类图描述了该模式的一种应用,其中与左图中的“Creator”对应的类是(2)。A.CommandB.Factory MethodC.Compos”相关问题
  • 第1题:

    ● 图 1 中左边的 UML 类图描绘的是设计模式中的 (1) 模式。右边的 UML 类图描述了该模式的一种应用,其中与左图中的“Creator”对应的类是 (2) 。

    (1)

    A. Command

    B. Factory Method

    C. Composite

    D. Class Adapter

    (2)

    A. Bank

    B. Account

    C. Checking

    D. Savings


    正确答案:B,A

  • 第2题:

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

    (1)

    A.Command

    B.MenuItem

    C.Open

    D.BulktinBoardScreen


    正确答案:B

  • 第3题:

    某软件公司欲开发一个绘图软件,要求使用不同的绘图程序绘制不同的图形。在明确用户需求后,该公司的架构师决定采用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。

  • 第4题:

    图7-6UML类图所描绘的设计模式中的(43)模式。

    A.Iterator(迭代器)

    B.Decorator(装饰器)

    C.Interpreter(解释器)

    D.Adapter(适配器)


    正确答案:C
    解析:图7-6 UML类图所描绘的设计模式中的Interpreter(解释器)模式。其设计意图是:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

  • 第5题:

    下面的UML类图描绘的是(请作答此空)设计模式。关于该设计模式的叙述中,错误的是( )。

    A.桥接
    B.策略
    C.抽象工厂
    D.观察者

    答案:D
    解析:
    本题主要考查设计模式的相关知识。
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。
    抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
    观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
    从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。