はい、非常に実用的な理由から、気にする必要があります。
設定を使用するクラスは、それらの設定の保存方法に依存する必要はありません。
将来、アプリケーションで複数のテーマをサポートする必要があると想像してください。ダッシュボードのサイズには、1 つではなく多くの可能性があります。次に例を示します。
AppSettings.Views.ThemeA.Windows.Dashboard.Size;
AppSettings.Views.ThemeB.Windows.Dashboard.Size;
UI クラスに必要なのは、変数 windowSize の値だけです。現在どのテーマが使用されているかを知る必要はありません。
XML インターフェースがある場合はどこでも、コードのあらゆる場所でスキーマに依存するのではなく、1 つの中心的な場所だけに依存したいと考えるのは事実です。
たとえば、次のように、内部で使用するマップに設定を入れることができます。
public class SettingsReader {
public static final String VIEW_WINDOW_DASHBOARD_SIZE = "Views.Windows.Dashboard.Size";
private Map settings = new Hashmap();
public SettingsReader(AppSettings appSettings) {
settings.put(VIEW_WINDOW_DASHBOARD_SIZE, appSettings.Views.Windows.Dashboard.Size);
}
public String getSettingValue(String key) {
return settings.get(key);
}
}
次に、次のように、テーマをサポートするためにリファクタリングする場所が 1 つあります。
public class SettingsReader {
public static final String VIEW_WINDOW_DASHBOARD_SIZE = "Views.Windows.Dashboard.Size";
private Map settings = new Hashmap();
public SettingsReader(AppSettings appSettings, String theme) {
settings.put(VIEW_WINDOW_DASHBOARD_SIZE, appSettings.Views + theme + Windows.Dashboard.Size);
}
public String getSettingValue(String key) {
return settings.get(key);
}
}
最後に、私の疑似コードと Java コードの組み合わせが人々を混乱させる可能性があるという理由だけで、特にappSettings.Views + theme + Windows.Dashboard.Size
: XML インターフェースを操作する場合、オブジェクトを操作する場合でも、優れたライブラリJXPath (Java の場合、私は他の言語についてはわかりません)。