gpt4 book ai didi

oop - 对象的组成

转载 作者:行者123 更新时间:2023-12-02 00:35:22 25 4
gpt4 key购买 nike

我有一个类(class)充当经理并做一些工作。应用程序服务器启动时启动的 servlet 实例化此管理器。我需要添加另一个类来做其他工作,并且需要与经理协调。我正在考虑将该类作为实例变量添加到管理器中。我应该让管理器实例化新类(就像在构造函数中一样),还是让 servlet 实例化新类并在管理器实例化后调用 manager.setNewClass()?

最佳答案

好吧,作为一个粗略的泛化,您应该在 servlet 中实例化它并将其传递给管理器(通过构造函数参数,或通过 setNewClass())...注入(inject)依赖项而不是硬编码它们。

但是,根据您的具体用例,即使那样也可能不是正确的答案。 Builder 你可能会过得更好用于构建管理器类。这样,构建器管理整个管理器(包括任何依赖项)的构造,而不是将其硬编码到 servlet 中。这会将依赖项从 servlet 移到构建器中(您可以在测试和其他代码中更好地处理它)。

简短的回答是没有 Elixir 。在不知道所有类之间的硬关系以及角色和职责的情况下,很难说出最好的方法。但是在构造函数中实例化几乎从来都不是一个好主意,您应该以某种形式注入(inject)依赖项(但从哪里开始争论)...

关于oop - 对象的组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868129/

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