c#设计模式之装饰模式

定义: 装饰者模式以对客户透明的方式动态地给一个对象附加上更多的责任,装饰者模式相比生成子类可以更灵活地增加功能。
装饰模式适用的是那些需要给产品动态的添加组件的场景。这时采用继承的方法来解决就会需要生成大约2n的n次方的继承类,也叫做子类爆炸。采用装饰模式之后则需要n个类便可以解决。

装饰模式中的各个角色:
  • 抽象构件(Phone)角色:给出一个抽象接口,以规范准备接受附加责任的对象。
  • 具体构件(AppPhone)角色:定义一个将要接收附加责任的类。
  • 装饰(Dicorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。
  • 具体装饰(Sticker和Accessories)角色:负责给构件对象 ”贴上“附加的责任。
链接 http://www.cnblogs.com/zhili/p/DecoratorPattern.html

你可能感兴趣的:(设计模式,c#设计模式)