C#装饰者模式实例分析
本文实例讲述了C#装饰者模式。分享给大家供大家参考。具体方法如下:
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace装饰者 { classProgram { staticvoidMain(string[]args) { ConcreteComponentcon=newConcreteComponent(); ConcreteDecoratorAa=newConcreteDecoratorA(); a.SetComponent(con); a.Operation(); a.AddBehavior(); Console.WriteLine("============================"); ConcreteDecoratorBB=newConcreteDecoratorB(); B.SetComponent(a); a.AddBehavior(); B.Operation(); B.AddBehavior(); } publicabstractclassComponent { publicabstractvoidOperation(); } abstractclassDecorator:Component { privateComponentcomponent; publicvoidSetComponent(Componentcomponent) { this.component=component; } publicoverridevoidOperation() { if(component!=null) { component.Operation(); } } } classConcreteDecoratorA:Decorator { publicoverridevoidOperation() { base.Operation(); } publicvoidAddBehavior() { Console.WriteLine("装饰A类的操作!"); } } classConcreteDecoratorB:Decorator { publicoverridevoidOperation() { base.Operation(); } publicvoidAddBehavior() { Console.WriteLine("装饰B类的操作!"); } } publicclassConcreteComponent:Component { publicoverridevoidOperation() { Console.WriteLine("具体对象的操作!"); } } } }
希望本文所述对大家的C#程序设计有所帮助。