您的位置:首页 > 其它

装饰器模式

2011-06-19 18:07 274 查看
“装饰器”,顾名思义,就是在现有的对象上附加新的东西。实现装饰器模式的要点就是装饰器在继承类的同时又包含它的实例。该模式有如下优点:

原始对象对装饰一无所知。

不需要引入一个包含各种装饰选项的特性类。

多个装饰类之间彼此独立。

多个装饰器之间可以以一种mix-and-match的方式组合到一起。

模式UML设计图



.png]

Component:操作将被增加或更改的原始类(可能有多个这样的类)。

Operation

ICompenent对象中的一个可被替换的操作(可能有多个操作)。

IComponent

(Component是其中的一种)。

Decorator:一个符合IComponent接口并添加状态和行为的类(可能有多个这样的类)。

模式理论代码

public class DecoratorPattern
{
interface IComponent
{
string Operation();
}

class Component : IComponent
{
public string Operation()
{
return "I am walking";
}
}

class Decorator : IComponent
{
IComponent component;
public Decorator(IComponent c)
{
component = c;
}

public string Operation()
{
string s = component.Operation();
s += "and listening to Classic FM";
return s;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: