gpt4 book ai didi

java - 在项目中组织 Singleton 类和处理它的类的最佳方式?

转载 作者:行者123 更新时间:2023-12-02 01:58:05 25 4
gpt4 key购买 nike

假设我有一个设置类,我想将其保留为单例,以便所有其他服务/类等都可以访问相同的内容。

public class Settings {
private static Settings settings;

public static Settings getInstance() {
if (settings == null) {
settings = new Settings();
}
return settings;
}
// More stuff
}

现在假设我有一个包含所有静态方法的类,可以使用此模型处理“设置”数据。

public class SettingsManager() {
public static Settings initSettings() {
// Pull some data from the db
String foo = db.getSomeData();
return Settings.getInstance().setFoo(foo); // etc
}
}
// Other static methods to update, etc.

我不想将 SettingsManager 中的逻辑放入 Settings 中,因为它将不再是模型,因为它将包含查询数据库等的逻辑.

SettingsManager 保留为 Settings 的内部类是否是更好的方法,或者使其成为自己的类更有意义?

我想考虑后者,但如果是这样,我应该将 SettingsManager 类放在哪里?什么套餐? (com.myproject.models、com.myproject.somethingelse?)

最佳答案

首先,每次调用 Settings.getInstance() 时都会创建一个新的 Settings 实例。其次,你的SettingsManager不应该是Singleton吗?否则,每次调用 SettingsManager.initSettings() 时,设置都会更改。多久会调用一次?(我写这个作为答案是因为我还没有足够的声誉来写评论。)

关于java - 在项目中组织 Singleton 类和处理它的类的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52045376/

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