参考答案和解析
正确答案:D
试题46分析适配器模式将一个接口转换成为客户想要的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。合成模式组合多个对象形成树型结构以表示整体—部分的结构层次。装饰器模式动态地给一个对象增加其他职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。参考答案(46)D
更多“● 欲动态地给一个对象添加职责,宜采用(46)模式。 A.适配器(Adapter) B.桥接(Bridge)C.组 ”相关问题
  • 第1题:

    ● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。

    (43)

    A. 命令(Command)

    B. 适配器(Adapter)

    C. 装饰(Decorate)

    D. 享元(Flyweight)

    (44)

    A. 命令(Command)

    B. 适配器(Adapter)

    C. 装饰(Decorate)

    D. 享元(Flyweight)

    (45)

    A. 命令(Command)

    B. 适配器(Adapter)

    C. 装饰(Decorate)

    D. 享元(Flyweight)


    正确答案:C,D,B


  • 第2题:

    下列设计模式中,(46)模式既是类结构型模式,又是对象结构型模式。此模式与(47)模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。

    A.桥接(Bridge)
    B.适配器(Adapter)
    C.组成(Composite)
    D.装饰器(Decorator)

    答案:D
    解析:
    适配器模式(Adapter)用于将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
    适配器有类结构和对象结构两种模式,如下图所示。在类适配器中,因为Adapter类既继承了Adaptee(被适配类),也实现了Target接口,在Client类中我们可以根据需要选择并创建任一种符合需求的子类,来实现具体功能。在对象适配器中,Adapter不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式。装饰器模式用于动态地给一个对象添加一些额外的职责或者行为。装饰器模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。当用于一组子类时,装饰器模式更加有用。如果你拥有一组子类(从一个父类派生而来),你需要在与子类独立使用情况下添加额外的特性,你可以使用装饰器模式,以避免代码重复和具体子类数量的增加。
    桥接(bridge)模式。桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(handle and body)模式或接口(interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。第47题选A、D均可。

  • 第3题:

    下列设计模式中,(46)模式既是类结构型模式,又是对象结构型模式。此模式与(47)模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。

    A.桥接(Bridge)
    B.适配器(Adapter)
    C.组成(Composite)
    D.装饰(Decorator)

    答案:B
    解析:
    适配器模式(Adapter)用于将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
    适配器有类结构和对象结构两种模式,如下图所示。在类适配器中,因为Adapter类既继承了Adaptee(被适配类),也实现了Target接口,在Client类中我们可以根据需要选择并创建任一种符合需求的子类,来实现具体功能。在对象适配器中,Adapter不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式。装饰器模式用于动态地给一个对象添加一些额外的职责或者行为。装饰器模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。当用于一组子类时,装饰器模式更加有用。如果你拥有一组子类(从一个父类派生而来),你需要在与子类独立使用情况下添加额外的特性,你可以使用装饰器模式,以避免代码重复和具体子类数量的增加。

  • 第4题:

    下图所示为 (请作答此空) 设计模式,适用于 ( ) 。

    A.适配器(Adapter)
    B.责任链(Chain of Responsibility)
    C.外观(Facade)
    D.桥接(Bridge)

    答案:C
    解析:
    外观设计模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行交互。外观设计模式提供一个高层次的接口,使得子系统更易于使用。
    外观模式适用情况如下:
    1)为复杂的子系统提供一个简单的接口;
    2)客户程序与抽象类的实现部分之间存在着很大的依赖性;
    3)构建一个层次结构的子系统时,适用外观模式定义子系统中每层的入口点。

  • 第5题:

    下图所示为(44)设计模式,适用于(45)。


    A.适配器(Adapter)
    B.责任链(Chain of Responsibility)
    C.外观(Facade)
    D.桥接(Bridge)

    答案:C
    解析:
    外观设计模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行交互。外观设计模式提供一个高层次的接口使得子系统更易于使用。
    外观模式适用情况如下:
    1)为复杂的子系统提供一个简单的接口;
    2)客户程序与抽象类的实现部分之间存在着很大的依赖性;
    3)构建一个层次结构的子系统时,适用外观模式定义子系统中每层的入口点。