Decorator(装饰)模式的意图是为一个对象连接附加的职责。

Decorator(装饰)模式的意图是为一个对象连接附加的职责。


相关考题:

欲动态地给一个对象添加职责,宜采用()模式。 A.适配器(Adapter)B.桥接(BridgE.C.组合(CompositE.D.装饰器(Decorator)

阅读以下说明和C++程序代码,将程序填充完整。【说明】有时我们希望给某个对象而不是整个类添加一些功能。例如,一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框,或是一些行为,例如窗口滚动。使用继承机制是添加功能的一种有效途径,从其他类继承过来的边框特性可以被多个子类的实例所使用。但这种方法不够灵活,因为边框的选择是静态的,用户不能控制对组件加边框的方式和时机。一种较为灵活的方式是将组件嵌入另一个对象中,由这个对象添加边框。我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。它将客户请求转发给该组件,并且可能在转发前后执行一些额外的动作(例如画二个边框)。透明性使得你可以递归地嵌套多个装饰,从而可以添加任意多的功能。装饰对象结构模式的意图就是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类更为灵活。其示意类图如图13-22所示。程序代码13-5是该模式的一个示例,说明了如何实现用户接口装饰,函数的实现全部省略。程序中定义了VisualComponent的一个子类Decorator,我们将生成Decorator的子类以获取不同的装饰。VisualComponent类是一个描述可视对象的抽象类,它描述了绘制和事件处理的接口。Decorator的子类定义了特殊的装饰功能,BorderDecorator子类给可视组件添加一个边框,ScrollDecorator给可视组件添加滚动功能。【程序代码13-5】(1);class Window{public:roid SetContents (VisualComponent * contents);};//VisualComponent类是一个描述可视对象的抽象类class VisllalComponent{public:VisualComponent(){};(2) void Draw(){};Virtual void Resize(){};};class Decorator:public VisualComponent{public:Decorator(){//…};Decorator(VisualComponent * vcom){//…};virtual vold Draw();virtual vold Resize();private:/* Decorator装饰由VisualComponent的指针实现,其在Decorator的构造函数中初始化*/VisualComponent (3) ;};vold Decorator::Draw(){(4);//缺省实现}void Decorator::Resize(){component->Resize();//缺省实现}//BorderDecorator 子类为它所包含的组件添加一个边框class BorderDecorator:public Decorator{public:BorderDecorator(VisualComponent * vcom,int borderWidth){//…};Virtual Void Draw();private:void DrawBorder(int);private:int borderWidth;};void BorderDecorator::Draw(){Decorator::Draw();DrawBorder(_width);}Void BorderDecorator::DrawBorder(int Width){//…)Void Window::SetConterlts(VlsualComponent * contents){//…}//SerollDecorat 给可视组件添加滚动功能class ScroliDecoratOr:public Decorator{public:ScrollDecorator(VlsualComponent * vcom){//…};//…);class TextView:public VisualComponent{//…};void main(void){//创建一个正文视图以及放入这个正文视图的窗口Window * window=new Window;TcxtView * textView=new TextView;//TextView是一个VisualComponent,它可以放入窗口中window->SetContents(textView);//得到一个有边界的和可以滚动的TextView,边界宽为1window->SetContents((5));}

●欲动态地给一个对象添加职责,宜采用 (43)模式。(43)A.适配器(Adapter)B.桥接(Bridge)C.组合( Composite)D.装饰器(Decorator)

● 欲动态地给一个对象添加职责,宜采用(46)模式。 A.适配器(Adapter) B.桥接(Bridge)C.组合( Composite) D.装饰器(Decorator)

下图所示为(46)设计模式,A.组件(Component)B.适配器(Adapter)C.组合(Composite)D.装饰器(Decorator)

Decorator模式的结构图如图13-4所示。关于其说法不正确的是(50)。A.动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。B.在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责。C.Decorator模式的两个主要优点是:比静态继承更灵活,避免在层次结构高层的类有太多的特征。D.Decorator模式是一种行为模式。

下列设计模式中,( )模式既是类结构型樽式,又是对象结构型模式。此模式与( )模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。A.桥接(Bridge) B.适配器(Adapter) C.组成(Composite) D.装饰器 (Decorator) A.桥接(Bridge) B.适配器(Adapter) C.组成(Composite) D.装饰器 (Decorator)

行为型设计模式描述类或对象如何交互和如何分配职责。以下( )模式是行为型设计模式。 A.装饰器 (Decorator)B. 构建器 (Builder) C.组合(Composite)D. 解释器(Interpreter)

行为型设计模式描述类或对象如何交互和如何分配职责。( )模式是行为型设计模式A.装饰器(Decorator)B.构建器(Builder)C.组合(Composite)D.解释器(Interpreter)

下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是( )关系,ConcreteDecorator和Decorator之间是( )关系。A.适配器B.桥接C.装饰D.代理

( )设计模式能够动态地给一个对象添加一些额外的职责而无需修改此对象的结构A.组合(Composite) B.外观(Facade) C.享元(Flyweight) D.装饰器(Decorator)

Decorator(装饰)模式的解决方案是什么?如何实现?

欲动态地给一个对象添加职责,宜采用()模式。A、适配器(Adapter)B、桥接(BridgE.C、组合(CompositE.D、装饰器(Decorator)

结构型模式中最体现扩展性的几种模式是()A、适配器(Adapte)模式B、合成(Composite)模式C、装饰(Decorator)模式D、桥接(Bridge)模式

Decorator(装饰)模式的效果是什么?

每个Decorator对象在被装饰的功能之前或之后执行自己的附加功能。

以下哪种设计模式能够支持动态地给一个对象增加其他职责而且在职责整合时支持热插拔()A、桥接模式(Bridge)B、装饰模式(Decorator)C、享元模式(Flyweight)D、外观模式(Facade)

Decorator(装饰)模式的意图是:()。A、定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换B、为一个对象动态连接附加的职责C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化D、在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新

下面不属于结构模式的有() 。A、适配器模式(Adapter)B、单例模式 (Singleton)C、桥接模式(Bridge)D、装饰模式(Decorator)

判断题每个Decorator对象在被装饰的功能之前或之后执行自己的附加功能A对B错

问答题Decorator(装饰)模式的解决方案是什么?如何实现?

单选题以下哪种设计模式能够支持动态地给一个对象增加其他职责而且在职责整合时支持热插拔()A桥接模式(Bridge)B装饰模式(Decorator)C享元模式(Flyweight)D外观模式(Facade)

单选题Decorator(装饰)模式的意图是:()。A定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换B为一个对象动态连接附加的职责C你希望只拥有一个对象,但不用全局对象来控制对象的实例化D在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新

问答题Decorator(装饰)模式的效果是什么?

判断题Decorator(装饰)模式的意图是为一个对象连接附加的职责。A对B错

判断题Decorator(装饰)模式适用性是表示对象的部分-整体层次结构A对B错

单选题结构型模式中最体现扩展性的几种模式是()A适配器(Adapte)模式B合成(Composite)模式C装饰(Decorator)模式D桥接(Bridge)模式