设计模式之Decorator
Decorator主要目的是为类增加新的功能。
?
那么,为什么不用继承呢?
?
原因是一,如果要增加的功能比较多,则继承会生成很多的子类。
???????? 二,使用继承,则新的功能是在编译器就决定了的。而更多的时刻我们更愿意在运行期时指定新的功能。即由用户动态指定。
?
Decorator看起来和Composite很像。但是,很明显,Composite模式更强调的是层次关系,即Panel与Component的关系。
?
?
参考:
模式Decorator