Со ссылкой на механизм .NET Settings и вдохновленный парой ответов на этот вопрос, кажется, что некоторые люди выступают за то, чтобы обернуть использование 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;