如果子类使用Builder模式,父类是否必须使用Builder模式?

时间:2021-01-18 13:29:55

标签: java builder-pattern

我在我的项目中遇到了一个场景,我决定使用构建器模式来创建扩展其他类的 Java 类之一的对象(超级类是第三方 api - 无法修改它们的代码)所以如果子类使用构建器模式,如何初始化父类对象?如果子类使用Builder模式,父类是否也必须使用它?

1 个答案:

答案 0 :(得分:0)

不,这不是强制性的。在子类的设计和编码中,只需做任何必要的事情来初始化父类。如果您使用构建器模式,那么该逻辑可能会进入您的构建器。

在许多情况下,父初始化代码的架构方式或在其实现中使用的设计模式并不重要。如果父类的构造涉及一个对您可见的单独构建器,那么扩展该构建器的想法并使用构建器模式构建您自己的子类可能对您来说很有意义。但这样做绝不是强制性的。

如果您正在谈论对第三方类进行子类化,那么您无法控制该超类的构造和初始化方式。你只需做任何你需要做的事情来使用这个类,而不必担心这个类是如何编码的。想想看。为什么你会关心超类对象的初始化是如何编码的?

简而言之,根据问题的定义和可用的工具,做您认为最有意义的事情。是否使用构建器模式取决于您是否认为应用它可以改进您的设计和/或实现。

相关问题