在Decorator模式中,为什么抽象装饰器需要抽象组件

时间:2011-06-24 23:29:16

标签: design-patterns

http://en.wikipedia.org/wiki/File:Decorator_UML_class_diagram.svg

我有点困惑为什么抽象的Decorator类需要存储(包装)抽象组件类,这个用例是什么?

1 个答案:

答案 0 :(得分:0)

装饰器的基本功能是在实现相同的接口时包装并可能改变包装组件的方法调用。

您并不一定要定义一个抽象的Decorator类,但如果这样做,那么它包含基本组件类是有意义的,因为所有具体的实现都将如此。

装饰器通常通过定义调用包装组件的相应方法的方法来起作用,但是在之前,之后或两者之间执行其他操作。