java - 装饰器设计模式不明确

标签 java design-patterns decorator

以简单的类图为例

enter image description here

我的问题是为什么我们需要OptionalWrapperOptionalOneOptionalTwoOptionalThree 实现 Interface 还不够吗,因为我们只需要 接口(interface)装饰器类中的对象类型。

最佳答案

OptionalWrapper 是您添加对您正在装饰的类的引用并将其所有方法重定向到该实例的地方。如果您没有 OptionalWrapper,那么您需要在其每个子类中重复此代码。在给定的图中,每个子类只需要覆盖它们应该修改的行为。

关于java - 装饰器设计模式不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29098388/

相关文章:

java - 关于 Robert C Martin Clean Code 中示例的问题

java - 为什么我会收到 NullPointerException?

java - JTree 影响 JLabel

html - 网格布局模式的第 n 个子选择器

dependency-injection - Angular 2 - 将依赖项注入(inject)装饰器工厂

python - 从装饰器访问函数参数

Python:装饰器+列表理解 - TypeError: 'int' 对象不可迭代

java - Elasticsearch 更新文档而不创建新索引

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

C++ 简单实体组件