“装饰器”,顾名思义,就是在现有的对象上附加新的东西。实现装饰器模式的要点就是装饰器在继承类的同时又包含它的实例。该模式有如下优点:
-
-
- 原始对象对装饰一无所知。
- 不需要引入一个包含各种装饰选项的特性类。
- 多个装饰类之间彼此独立。
- 多个装饰器之间可以以一种mix-and-match的方式组合到一起。
-
模式UML设计图

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;
}
}
}
本文介绍装饰器模式,一种用于在不改变对象结构的前提下动态地给对象添加职责的设计模式。通过继承和组合,装饰器能够在运行时为对象添加新功能,同时保持原始对象的简单性。文章还提供了一个理论代码示例,展示如何使用装饰器模式来增强对象的行为。
1580

被折叠的 条评论
为什么被折叠?



