装饰模式(Decorator),动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
“在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。”
装饰模式是为已有功能动态的添加更过功能的一种方式,比继承更加灵活,通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合。但是会出现小类,增加程序的复杂性。
//对象 可以给这些对象动态的添加职责 /// <summary> /// 对象接口 /// </summary> abstract class Component { public abstract void Operation(); } /// <summary> /// 具体的对象 /// </summary> class ConcreteComponent : Component { public override void Operation() { Console.WriteLine("具体对象的操作"); } }