我试图用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类。 我可以这样做还是被认为是不好的做法? 我有其他选择吗?
提前致谢
答案 0 :(得分:1)
在您的设计中,B级需要一个CModel(良好的做法是制作模型' final')。
A类封装 B;所以,虽然你可以先构建B,然后将B注入A,但没有充分的理由这样做。创建A的用户不需要知道B.
由于B需要CModel,因此A需要CModel。
你做得最好的方式描述了A,因为唯一的状态是'构造A所需的是B所需的状态。