設計模式-10-裝飾者

說明ide

1.創建抽象組件this

2.創建抽象裝飾着者繼承於抽象組件並在構造器聚合抽象組件spa

3.具體裝飾者繼承抽象裝飾者和具體組件繼承抽象組件,達到在一個具體組件上層增長不少個具體的具體裝飾者,給這個具體組件動態的附加不少功能code

 public abstract class AbsComponent
    {
        public abstract void Exc();
    }
 public abstract class AbsDecorator:AbsComponent
    {
        protected AbsComponent absComponent;
        public AbsDecorator(AbsComponent absComponent)
        {
            this.absComponent = absComponent;
        }
        public override void Exc()
        {
            if(absComponent!=null)
            {
                absComponent.Exc();
            }
        }
    }
 class Component : AbsComponent
    {
        public override void Exc()
        {
            Console.WriteLine("執行Component完成");
        }
    }
 class DecoratorA : AbsDecorator
    {
        public DecoratorA(AbsComponent absComponent) : base(absComponent)
        {
        }

        public override void Exc()
        {
            Console.WriteLine("DecoratorA執行完成");
            base.Exc();
        }

      
    }
 class DecoratorB : AbsDecorator
    {
        public DecoratorB(AbsComponent absComponent) : base(absComponent)
        {
        }

        public override void Exc()
        {
            Console.WriteLine("正在配置DecoratorB");
            Console.WriteLine("DecoratorB執行完成");
            base.Exc();
        }

      
    }
new DecoratorA(new DecoratorB(new Component())).Exc();
相關文章
相關標籤/搜索