欲动态地给一个对象添加职责,宜采用()模式。

题目
单选题
欲动态地给一个对象添加职责,宜采用()模式。
A

适配器(Adapter)

B

桥接(BridgE.

C

组合(CompositE.

D

装饰器(Decorator)

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

第1题:

● 采用 (43) 设计模式可保证一个类仅有一个实例;采用 (44) 设计模式可将对象组合成树形结构以表示“部分-整体”的层次结构, 使用户对单个对象和组合对象的使用具有一致性;采用 (45) 设计模式可动态地给一个对象添加一些额外的职责。

(43)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)

(44)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)

(45)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)


正确答案:B,D,C
试题(43)~(45)分析
  本题考查面向对象设计中的设计模式。
  单例设计模式的目的就是保证一个类仅能够生成一个对象;组合设计模式则用于表示“部分-整体”的层次结构,并且对部分和整体的使用具有一致性;装饰设计模式则动态地给一个对象增加一些额外的职责,无须改变类的设计和实现。
参考答案
(43)B(44)D(45)C

 

第2题:

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

A.命令(Command)

B.适配器(Adapter)

C.装饰(Decorate)

D.享元(Flyweight)


正确答案:C
解析:装饰模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责;享元设计模式是共享大量细粒度的对象;适配器设计模式则是将已有的接口转换为系统希望的接口形式。

第3题:

以下关于桥接模式的叙述错误的是( )。

A.桥接模式的用意是将抽象化与实现化脱耦,使得两者可以独立地变化

B.桥接模式将继承关系转换成关联关系,从而降低系统的耦合度

C.桥接模式可以动态地给一个对象增加功能,这些功能也可以动态地撤销

D.桥接模式可以从接口中分离实现功能,使得设计更具扩展性


答案:C

第4题:

已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。

A.Facade(外观)

B.Singleton(单件)

C.Participant(参与者)

D.Decorator(装饰)


正确答案:A

第5题:

●欲动态地给一个对象添加职责,宜采用 (43)模式。

(43)

A.适配器(Adapter)

B.桥接(Bridge)

C.组合( Composite)

D.装饰器(Decorator)


正确答案:D

第6题:

采用( )设计模式可保证一个类仅有一个实例;采用( )设计模式可将对象组合成树形结构以表示“部分一整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性;采用( )设计模式可动态地给一个对象添加一些额外的职责。

A.命令(Command)

B.单例(Singleton)

C.装饰(Deeorate)

D.组合(Composite)(44)


正确答案:B
解析:试题43:在面向对象程序设计的范畴中,命令模式是一种设计模式,它尝试以物件来代表实际行动。命令物件可以把行动(action)及其参数封装起来。试题44:组合模式有时候又叫做部分一整体模式,它使我们在树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。试题45:装饰设计模式可动态地给一个对象添加一些额外的职责。

第7题:

● 已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(41)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当不能采用生成子类的方法进行扩充时,可采用(42)设计模式动态地给一个对象添加一些额外的职责。

(41)

A. Facade(外观)

B. Singleton(单件)

C. Participant(参与者)

D. Decorator(装饰)

(42)

A. Facade(外观)

B. Singleton(单件)

C. Participant(参与者)

D. Decorator(装饰)


正确答案:A,D


第8题:

欲动态地给一个对象添加职责,宜采用()模式。

A.适配器(Adapter)

B.桥接(BridgE.

C.组合(CompositE.

D.装饰器(Decorator)


参考答案:D
适配器(Adapter)、桥接(Bridge)、组合(Composite)、装饰器(Decorator)都是结构型设计模式,用于处理类或对象的组合。适配器使得一个接口与其他接口兼容,从而给出了多个不同接口的统一抽象;桥接模式将对象的抽象和其实现分离;组合模式描述了如何构造一个类层次式结构;装饰器模式描述了如何动态地为对象添加职责。

第9题:

Decorator模式的结构图如图13-4所示。关于其说法不正确的是(50)。

A.动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。

B.在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责。

C.Decorator模式的两个主要优点是:比静态继承更灵活,避免在层次结构高层的类有太多的特征。

D.Decorator模式是一种行为模式。


正确答案:D
解析:Decorator模式是一种对象结构模式,用于描述对象之间的结构关系,从题中的结构图可看出,它并不描述对象的行为。Decorator模式的意图是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类更为灵活。它适用于以下情况:①在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责。②处理那些可以撤消的职责。③当不能采用生成子类的方法进行扩充时,有两种情况:一种情况可能是有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长;另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。

第10题:

● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (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


更多相关问题