(1)设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。图5.1为该设计模式的类图,其中,(2)用于定义实现部分的接口。 (2)

admin2019-03-11  35

问题 (1)设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。图5.1为该设计模式的类图,其中,(2)用于定义实现部分的接口。

(2)

选项 A、Abstraction
B、ConcretelmplementorA
C、ConcretelmplementorB
D、Implementor

答案D

解析 本题主要考查设计模式的知识,这种题型是考试中常见的题型。
桥接模式的意图是将抽象部分与它的实现部分分离,使它们都可以独立地变化。
桥接模式的适用性如下:
(1)避免抽象方法和实现方法绑定在一起。
(2)类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。
(3)对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。
(4)想在多个对象间共享实现(可能使用引用计数),但同时要求客户并不知道这一点。
桥接模式是把继承关系变成合成/聚合关系。手机可以按照品牌来分类,则有手机品牌M,手机品牌N之分,现在的每个手机都有很多软件,如通信录,手机游戏等。运用桥接模式,可把手机系统划分为品牌和软件,使它们可以独立的变化。
    而本题中给出的类图就是桥接模式的结构图。其中:
    Abstraction:抽象类定义抽象类的接口。维护一个Implcmcntor(实现抽象类)的对象。
    RefmedAbstraction:扩充的抽象类,扩充由Abstraction定义的接口。
    Implementor实现类接口,定义实现类的接口,这个接口不一定要与Abstraction的接口完全一致,事实上这两个接口可以完全不同,一般地讲Implementor接口仅仅给出基本操作,而Abstraction接口则会给出很多更复杂的操作。
    Concretelmplementor:具体实现类,实现Implementor定义的接口并且具体实现它。
    桥接模式可以从接口中分离实现功能,使得设计更具有扩展性,这样,客户调用方法时根本不需要知道实现的细节。桥接模式的缺陷是抽象类和实现类的双向连接使得运行速度减慢。
    单例(Singleton)模式确保其一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类,它提供全局访问的方法。单例模式的要点有三个:
一是某个类只能有一个实例;二是它必须自选创建这个实例;三是它必须自行向整个系统提供这个实例。
    组合(Composite)设计模式组合多个对象形成树形结构以表示整体一部分的结构层次。合成模式对单个对象和合成对象的使用具有一致性。
    外观(Facade)模式,有称为门面模式,其提供了一个统一的接口去访问多个子系统的多个不同的接口。外观模式定义了一个高层次的接口,使得子系统更容易被使用。
转载请注明原文地址:https://jikaoti.com/ti/Gof7FFFM
0

最新回复(0)