双依赖注入和良好实践

时间:2018-02-01 00:06:44

标签: java swing dependency-injection

我试图用java编写应用程序代码,我想了解一些关于注射的内容。

我有一个继承自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;
  }
}

为了将我的模型注入我的B类,我必须将它注入我的A类。 我可以这样做还是被认为是不好的做法? 我有其他选择吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

在您的设计中,B级需要一个CModel(良好的做法是制作模型' final')。

A类封装 B;所以,虽然你可以先构建B,然后将B注入A,但没有充分的理由这样做。创建A的用户不需要知道B.

由于B需要CModel,因此A需要CModel。

你做得最好的方式描述了A,因为唯一的状态是'构造A所需的是B所需的状态。

相关问题