我正在尝试用 java 编写应用程序,我想了解一些有关注入(inject)的信息。
我有一个继承自 JFrame 的 A 类:
public class A extends JFrame {
public A(CModel model){
B classB = new B(model);
}
}
继承自 JPanel 的 B 类:
public class B extends JPanel {
public CModel model;
public B(CModel model){
this.model = model;
}
}
为了将我的模型注入(inject)到我的 B 类中,我必须将它注入(inject)到我的 A 类中。 我可以这样做吗?或者这被认为是不好的做法? 我还有其他选择吗?
提前致谢
最佳答案
在您的设计中,B 类需要 CModel(好的做法是使模型成为“最终”模型)。
A 类封装 B;因此,虽然您可以先构建 B,然后将 B 注入(inject) A,但没有充分的理由这样做。创建A的用户不需要了解B。
由于 B 需要 CModel,因此 A 需要 CModel。
您所做的方式最好地描述了 A,因为构建 A 所需的唯一“状态”就是 B 所需的状态。
关于java - 双重依赖注入(inject)和良好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553465/