niusouti.com
更多“【问题3】(3分)图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。 ”相关问题
  • 第1题:

    图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。


    正确答案:用—个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用从而使其耦合松散而且可以独立地改变它们之间的交互。简单来说将原来两个直接引用或者依靠的对象拆开在中间加入一个“中介”对象使得两头的对象分别和“中介”对象引用或者依靠。
    用—个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单来说,将原来两个直接引用或者依靠的对象拆开,在中间加入一个“中介”对象,使得两头的对象分别和“中介”对象引用或者依靠。 解析:中介者设计模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者依靠的对象拆开,在中间加入一个“中介”对象,使得两头的对象分别和“中介”对象引用或者依靠。

  • 第2题:

    试题三(共15 分)

    阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    某运输公司决定为新的售票机开发车票销售的控制软件。图 3-1 给出了售票机的面板示意图以及相关的控制部件。

    售票机相关部件的作用如下所述:

    (1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。

    (2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和座席种类)。

    (3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。

    (4)显示屏显示所有的系统输出和用户提示信息。

    (5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。

    (6)打印机用于输出车票。

    假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。

    系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和类图分别如图3-2和图3-3所示。

    【问题1】(5 分)

    根据说明中的描述,给出图 3-2 中 A1 和 A2 所对应的参与者,U1 所对应的用例,以及(1)、(2)处所对应的关系。

    【问题2】(7 分)

    根据说明中的描述,给出图3-3中缺少的C1~C4所对应的类名以及(3)~(6)处所对应的多重度。

    【问题3】(3 分)

    图3-3中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。


    正确答案:
    试题三问题1(5分,各1分)A1:乘客A2:服务技术人员U1:支付(1)<<include>>(2)<<include>>问题2(7分)C1:键盘(2分)C2:目的地键盘(1分)C3:车票键盘(1分)C4:继续/取消键盘(1分)(3)~(6):1(各0.5分)问题3(3分)使用Mediator模式,可以使各个对象间的耦合松散(1分),只需关心和Mediator的关系,使多对多的关系变成一对多的关系(1分),可以降低系统的复杂性,提高可修改扩展性。(1分)。

  • 第3题:

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

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

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

  • 第4题:

    ● 图 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

  • 第5题:

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

    A.该设计模式中的Observer需要维护至少一个Subject对象
    B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装
    C.该设计模式中一个Subject对象需要维护多个Observer对象
    D.该设计模式中Subject需要通知Observer对象其自身的状态变化

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