简介:
动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生产子类更加灵活——《大话设计模式》;
结构图:
优点:
装饰类和被装饰类可以独立发展,不会相互耦合;
动态的扩展一个对象的功能;
可以对一个对象进行多次装饰,让其具备更多的功能;
缺点:
多层装饰比较复杂,相应增加调试和维护的成本;
将产生许多小对象,势必会占用很多系统资源,一定程度上影响程序性能;
应用场景:
1.当系统需要新功能的时候,是向旧的类中添加新的代码。这些新的代码通常是装饰原有类的核心职责或主要行为,在主类中增加新字段,新方法,新逻辑,从而增加了主类的复杂度,而这些新加入的代码,