需要补全
好容易混淆,觉得好多模式相比起来只是应用情境不一样,叫法就不太相同,但是实质上是很像的。
装饰(Decorator)模式:实现不改变类代码前提下,动态地给一个对象添加一些额外的职责。
举个很容易理解的例子:
有一个文本显示类,TextView,它只负责显示文本。没有实现其它逻辑,现在我们要对它加入ScrollBar,滚动条功能。
建一个ScrollDecorator类,实现滚动的逻辑,把TextView加入其中即可。
那么没有改变TextView的情况下,就使它实现了滚动条功能。通过更多的Decorator还可以更方便的实现更多的功能。