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#程序设计有所帮助。