以简单的类图为例
我的问题是为什么我们需要OptionalWrapper
? OptionalOne
、OptionalTwo
和 OptionalThree
实现 Interface
还不够吗,因为我们只需要 接口(interface)
装饰器类中的对象类型。
最佳答案
OptionalWrapper
是您添加对您正在装饰的类的引用并将其所有方法重定向到该实例的地方。如果您没有 OptionalWrapper
,那么您需要在其每个子类中重复此代码。在给定的图中,每个子类只需要覆盖它们应该修改的行为。
关于java - 装饰器设计模式不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29098388/