Скажем, у меня есть класс Settings, который я хочу сохранить как Singleton, чтобы все другие сервисы / классы и т. Д. Имели доступ к тому же самому.
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?)