装饰者模式(Decorator Pattern)
2012-06-25 13:53
225 查看
装饰者模式(Decorator Pattern):动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更加灵活。
#ifndef DECORATOR_H #define DECORATOR_H #include<iostream> using namespace std; class Component { public: virtual void operation()=0; }; class ConcreteComponent:public Component { public: void operation() { cout<<"ConcreteComponent:operation()"<<endl; } }; class Decorator:public Component { protected: Component* wappedObj; public: Decorator(Component* component){ wappedObj=component; } }; class ConcreteDecoratorA:public Decorator { public: ConcreteDecoratorA(Component* component):Decorator(component){} void operation() { wappedObj->operation(); cout<<"ConcreteDecoratorA:operation()"<<endl; } }; class ConcreteDecoratorB:public Decorator { public: ConcreteDecoratorB(Component* component):Decorator(component){} void operation() { wappedObj->operation(); cout<<"ConcreteDecoratorB:operation()"<<endl; } }; #endif//DECORATOR_H int main() { Component* component=new ConcreteComponent(); component->operation(); cout<<endl; component=new ConcreteDecoratorB(component); component->operation(); cout<<endl; component=new ConcreteDecoratorA(component); component->operation(); cout<<endl; return 0; }
相关文章推荐
- Decorator Pattern 装饰者模式(二)
- C#设计模式——装饰者模式(Decorator Pattern)
- 装饰者模式(the Decorator Pattern)
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- 装饰者模式(Decorator Pattern)
- java设计模式—装饰者模式(Decorator Pattern)
- c++设计模式:装饰者模式(Decorator Pattern)
- 设计模式之装饰者模式(Decorator Pattern)
- 我所理解的设计模式(C++实现)——装饰者模式(Decorator Pattern)
- (C++实现)——装饰者模式(Decorator Pattern)
- 装饰者模式-Decorator Pattern
- 设计模式笔记之装饰者模式(Decorator Pattern)
- 装饰者模式(Decorator Pattern)
- 设计模式总结之Decorator Pattern(装饰者模式)
- 深入浅出设计模式-003:装饰者模式(Decorator Pattern)
- 装饰者模式(Decorator Pattern)——给爱用继承的人一个全新的设计眼界
- 设计模式之装饰者模式(Decorator Pattern)
- 装饰者模式(Decorator Pattern)
- 装饰者模式(decorator pattern)