我正在研究一个简单的Java应用程序,并且我创建了一个名为Config.java的类来处理Application属性,从而避免了硬编码。
Config.java类不是静态类,我在另一个名为Serial.java的类中创建Config.java类的实例。
main方法位于另一个名为App.java的类中。所以我总共有3个课程:
在这个阶段,一切都很好,OOP设计中没有任何缺陷。但是,我需要创建另一个类,我必须从Config.java类中调用方法。为了只拥有 Config.java 类的一个实例,最好的方法是什么:
我是否可以使用更多选项/技巧来达到目标。
非常感谢任何帮助或建议。
答案 0 :(得分:6)
听起来像是dependency injection
的工作听起来你在Config
中实例化了Serial
:
class Serial {
private Config config = new Config();
}
而不是在Serial
中创建它,将其传递给:
Config config = new Config();
Serial serial = new Serial(config);
Serial
类看起来像:
class Serial {
private Config config;
public Serial(Config config) {
this.config = config;
}
}
这样你也可以将它传递给另一个必须从Config
调用方法的对象:
OtherObj other = new OtherObj(config);
将OtherObj
定义为:
class OtherObj {
private Config config;
public OtherObj(Config config) {
this.config = config;
}
}
这可以帮助你避免静电。
答案 1 :(得分:0)
虽然这取决于您的域名的详细信息,但我看到了两个可行的替代方案: