Со ссылкой на механизм настроек .NET и вдохновленный парой ответов на this вопрос, кажется, что некоторые люди выступают за то, чтобы использовать настройки с помощью другого класса-оболочки, возможно, синглтона.
Разве класс Settings уже не является синглтоном?
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
// rest of class...
}
.
.
.
Итак, в чем преимущество переноса настроек в другой класс и выполнения следующих действий:
int foo = MySettingsWrapper.MyInt;
вместо того, чтобы делать это непосредственно там, где это необходимо:
int foo = Settings.Default.MyInt;