下图是(47)设计模式的类图,该设计模式的目的是(48),图中,Decorator和Component之间是(49)关系

来源:www.zcjsj8.com   发布时间2020-01-08  浏览:
 

下图是(47)设计模式的类图,该设计模式的目的是(48),图中,Decorator和Component之间是(49)关系, ConcreteDecorator和Decorator之间是(50)关系。

(47)A.适配器 B.桥接 C.装饰 D.代理

(48)A.将一个类的接口转换为客户期望的另一种接口,使得原本因接口不匹配而无法合作的类可以一起工作

B.将一个抽象与其实现分离开,以便两者能够各自独立地演变

C.为一个对象提供代理以控制该对象的访问

D.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能

(49)A.依赖和关联 B.依赖和继承     C.关联和实现        D.继承和实现

(50)A.依赖 B.关联 C.继承    D.组合

【答案】C  D  C  C

【解析】

图中Component定义一个对象接口,可以给这些对象动态地添加职责

ConcreteComponent定义一个对象,可以给这个对象添加一些职责

Decorator维持一个指向Compnonent对象的指针,并定义一个与Component接口一致的接口

ConcreateDecorator向组件添加职责

装饰(Decorator)模式适应于:在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时

Decorator和Component之间应为关联与实现关系

ConcreteDecorator和Decorator之间是继承(泛化)关系


  本文网址:http://www.zcjsjs8.com/blog/rc/639.html