gpt4 book ai didi

java - 装饰器未实现装饰接口(interface)

转载 作者:行者123 更新时间:2023-12-02 01:24:27 26 4
gpt4 key购买 nike

我有一个小项目,其中我用另一个类包装了一个类的对象。装饰类实现了一个接口(interface),但装饰类没有实现它。我很好奇它是否仍然是装饰器模式或其他模式,并且在我的项目中“装饰器”类应该被称为包装器而不是装饰器。

我已经检查了 iluwatar github 存储库 ( https://github.com/iluwatar/java-design-patterns/tree/master/decorator/src/main/java/com/iluwatar/decorator ) 和tutorialspoint ( https://www.tutorialspoint.com/design_pattern/decorator_pattern )。例如,在 iluwatar 有:装饰器:

public class ClubbedTroll implements Troll

装饰:

public class SimpleTroll implements Troll

在这两种情况(iluwatar 和tutorialspoint)中,装饰器和装饰类都有通用的接口(interface)实现。这是否意味着必须将其称为装饰器设计模式?

最佳答案

我想说,如果你没有在装饰器中实现接口(interface),那么它就不能像原来的东西(装饰过的)一样工作。如果要实现接口(interface),则可以在任何可以使用原始接口(interface)(如果类)完成的地方使用装饰器。这就是为什么您必须使用该界面。

如果你只是包装装饰,你就得到了一个包装器(委托(delegate)模式)。

关于java - 装饰器未实现装饰接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57157434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com