工学

单选题以下哪些设计模式都可以用来将抽象部分与实现部分分离()A 适配器模式(Adapter)B 装饰模式(Decorator)C 桥接模式(Bridge)D 代理模式(Proxy)

题目
单选题
以下哪些设计模式都可以用来将抽象部分与实现部分分离()
A

适配器模式(Adapter)

B

装饰模式(Decorator)

C

桥接模式(Bridge)

D

代理模式(Proxy)

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.Singleton(单件)

B.Bridge(桥接)

C.Composite(组合)

D.Facade(外观)


正确答案:B

第2题:

设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;(请作答此空)模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于( )模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

A.Bridge
B.Proxy
C.Prototype
D.Adapter

答案:A
解析:
设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

第3题:

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

(43)

A. Singleton(单件)

B. Bridge(桥接)

C. Composite(组合)

D. Facade(外观)

(44)

A. Abstraction

B. ConcreteImplementorA

C. ConcreteImplementorB

D. Implementor


正确答案:B,D

第4题:

某广告公司的宣传产品有宣传册、文章、传单等多种形式,宣传产品的出版方式包括纸质方式、CD、DVD、在线发布等。现要求为该广告公司设计一个管理这些宣传产品的应用,采用(4)设计模式较为合适,该模式(5)。【回答括号5】

A.. 将一系列复杂的类包装成一个简单的封闭接口
B. 将抽象部分与它的实现部分分离,使它们都可以独立地变化
C. 可在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
D. 将一个接口转换为客户希望的另一个接口

答案:B
解析:
题目所给出的应用中,不希望在不同的宣传产品与具体所采用的出版方式之间建立一个固定的绑定关系,以避免这两者之间的紧耦合关系。这种情形适合于采用Bridge(桥接)模式。桥接模式属于结构型设计模式的一种。结构型模式描述如何将类或对象合在一起形成更大的结构。桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。

在以下情况可以使用Bridge模式: ①不希望在抽象以及抽象的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻可以选择或切换实现部分;②类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充,使用Bridge模式可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。③对一个抽象的实现部分的修改应该对用户不产生影响,即客户的代码不必重新编译。

第5题:

欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于(请作答此空)的情况,该模式属于( )模式。

A.不希望在抽象和它的实现部分之间有一个固定判定关系
B.想表示对象的部分-整体层次结构
C.想使用一个已经存在的类,而它的接口不符合要求
D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责

答案:A
解析:
桥接模式模式属于结构型对象模式,可以将抽象部分与其实现部分分离,使它们都可以独立的变化。桥接模式适用于不希望在抽象和它的实现部分之间有一个固定判定关系。

第6题:

某广告公司的宣传产品有宣传册、文章、传单等多种形式,宣传产品的出版方式包括纸质方式、CD、DVD、在线发布等。现要求为该广告公司设计一个管理这些宣传产品的应用,采用( )设计模式较为合适,该模式( )。

A.Decorator B.Adapter C.Bridge D.Facade A.将一系列复杂的类包装成一个简单的封闭接口 B.将抽象部分与它的实现部分分离,使它们都可以独立地变化 C.可在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责 D.将一个接口转换为客户希望的另一个接口


正确答案:C,B

第7题:

设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;( )模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于(请作答此空)模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

A.组合型
B.结构型
C.行为型
D.创建型

答案:B
解析:
设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

第8题:

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

A.Bridge(桥接)

B.Composite(组合)

C.Facade(外观)

D.Singleton(单例)


正确答案:A
本题主要考查常见的设计模式。在本题中,根据题目给出的图,我们不难看出该图描述的是桥接模式,它的显著特征是它将抽象部分与实现部分分离,使它们可以相互独立地变化。我们不难从题目给出的图中看出,左边的是抽象类接口,而右边都是实现类接口,显然实现了分离。抽象类接口的下面是抽象的扩充,而实现类接口的下面是具体实现,因此他们可以相互独立地变化。其中:Abstraction:抽象类定义抽象类的接口。维护一个Implementor(实现抽象类)的对象。RefinedAbstraction:扩充的抽象类,扩充由Abstraction定义的接口。Implementor:实现类接口,定义实现类的接口,这个接口不一定要与Abstraction的接口完全一致,事实上这两个接口可以完全不同,一般的讲Implementor接口仅仅给出基本操作,而Abstraction接口则会给出很多更复杂的操作。ConcreteImplementor:具体实现类,实现Implementor定义的接口并且具体实现它。

第9题:

欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中(请作答此空)定义了实现类接口,该模式适用于( )的情况,该模式属于( )模式。

A.Shape]
B.Circle和Rectangle]
C.V1Drawing和V2Drawing
D.drawing

答案:A
解析:
Drawing类是抽象类,Shape类是实现类,在桥接图中由抽象类指向实现类。

第10题:

当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用()

  • A、单例模式
  • B、享元模式
  • C、工厂模式
  • D、外观模式

正确答案:D

更多相关问题