设计模式之装饰模式

装饰模式,就像穿衣服样,可以随意搭配!可以想象当我们做个系统,可以随意组合功能一样!

class Preson //定义的基本类

{

public Person(){}

private string name;   

public Person(string name)

{

   this.name=name;

}

public virtual void Show()

{

Console.WriteLine("装扮的{0}",name);

}

 

 public class Finey :Person //服饰类

{

protected Person person1;

public void Declare(Person person1)

{

this.person1=person1;

}

public override  void Show()

{

if(person1!=null)

{

person1.Show();

}

}

}

 

public class Tshirts :Finey  //具体服饰类

{

public override  void  Show()

{

        console.Write("大T恤");

       base.Show();

}

}

 

public class BigTrouser :Finey  //具体服饰类

{

public override  void  Show()

{

        console.Write("大裤子");

       base.Show();

}

}

 

具体调用:
preson mm=new person("美眉");

Tshirts  t=new Tshirts();

BigTrouser b=new BigTrouser();

t.Declare(mm);//装饰T恤

b.Declare(t);//装饰裤子

b.Show();

 结果:大裤子 大T恤 装扮的美眉

posted @ 2013-03-28 17:51  乐木木  阅读(108)  评论(0)    收藏  举报