返回信息流最近看了设计模式,感觉有些不懂,在Decorator模式中,Decorator既然包含指向Component的指针,为什么还要继承Component呢?
这是一条镜像帖。来源:北邮人论坛 / cpp / #33132同步于 2009/12/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
Decorator模式中为什么Decorator继承Component
mysterious03
2009/12/9镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
【 在 mysterious03 的大作中提到: 】
: 最近看了设计模式,感觉有些不懂,在Decorator模式中,Decorator既然包含指向Component的指针,为什么还要继承Component呢?
这要看Decorator的实际应用了
如果我猜的没错的话,Component应该是一个借口。
我估计你那边的应用场景是:
Decorator类本身也是个组件,所以要继承Component接口。
另外,Decorator类要重用相关组件,所以内部要聚合Component组件类,所以内部就有Component的指针,这些指针指向组件。
【 在 mysterious03 的大作中提到: 】
: Decorator类本身也是个组件,所以要继承Component接口
: 这个我不懂
我说的意思是针对你这个应用场景的 不是说所有Decorator类都是个组件
继承是为了和Component提供相同的接口。楼主可以参考下head first设计模式这本书,里面的例子很容易理解阿。
【 在 mysterious03 的大作中提到: 】
: 最近看了设计模式,感觉有些不懂,在Decorator模式中,Decorator既然包含指向Component的指针,为什么还要继承Component呢?