定义
动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。不改变接口的前提下,增强所考虑的类的性能。
何时使用:
1)需要扩展一个类的功能,或给一个类增加附加责任。
2)需要动态的给一个对象增加功能,这些功能可以再动态地撤销。
3)需要增加一些基本功能的排列组合而产生的非常大量的功能,从而使继承变得 不现实。
角色
抽象构件(Component)
给出一个抽象接口,以规范准备接收附加责任的对象。
具体构件(ConcreteComponent)
定义一个将要接收附加责任的类
装饰角色(Decorator)
持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口
具体装饰角色(ConcreteDecorator)
负责给构件对象“贴上”附加的责任
本文介绍了一种称为装饰者模式的设计模式,它允许在不修改原始类的基础上为对象动态添加新的功能。装饰者模式通过实现与抽象组件接口一致的接口来保持灵活性,并允许扩展功能而无需更改代码。
1096

被折叠的 条评论
为什么被折叠?



