Decorator装饰模式产生原因:
在OO设计和开发过程,可能会经常遇到以下的情况:我们需要为一个已经定义好的类添加新的职责(操作),通常的情况我们会给定义一个新类继承自定义好的类,这样会带来一个问题(将在本模式的讨论中给出)。通过继承的方式解决这样的情况还带来了系统的复杂性,因为继承的深度会变得很深。
Decorator装饰模式作用:
Decorator提供了一种给类增加职责的方法,不是通过继承实现的,而是通过组合。这样就大大降低了基类的复杂性!
Decorator装饰模式典型的UML结构图如图1所示:
<