设计模式-10-装饰者

Posted MancosZeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-10-装饰者相关的知识,希望对你有一定的参考价值。

说明

1.建立抽象组件

2.建立抽象装饰着者继承于抽象组件并在构造器聚合抽象组件

3.具体装饰者继承抽象装饰者和具体组件继承抽象组件,达到在一个具体组件上层增加很多个具体的具体装饰者,给这个具体组件动态的附加很多功能

 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();

 

以上是关于设计模式-10-装饰者的主要内容,如果未能解决你的问题,请参考以下文章

10-蒸馒头:装饰者模式

10.装饰者模式

设计模式---装饰者模式

装饰者模式

设计模式整理_装饰者模式

Java设计模式之装饰者模式