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