装饰模式(Decorator),动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。

“在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。”

装饰模式是为已有功能动态的添加更过功能的一种方式,比继承更加灵活,通过使用不同的具体装饰类以及这些装饰类的排列组合,可以创造出很多不同行为的组合。但是会出现小类,增加程序的复杂性。

    //对象 可以给这些对象动态的添加职责
   /// <summary>
    /// 对象接口
   /// </summary>
    abstract class Component
    {
        public abstract void Operation();
    }
    /// <summary>
    /// 具体的对象
    /// </summary>
    class ConcreteComponent : Component
    {
        public override void Operation()
        {
            Console.WriteLine("具体对象的操作");
        }
    }
对象 可以给这些对象动态的添加职责

相关文章: