vadim,
ich tun, genau so, wie Sie zu diesem Zweck eine statische Klasse vorzuschlagen und verwenden. Sie erhalten dann den Vorteil von stark typisierten Accessoren PLUS die Möglichkeit, Overrides (in Form von Methoden) hinzuzufügen, sollten Sie sie benötigen.
hier ist ein Ausschnitt:
public static class Config
{
private const string NotSet = "**VALUE NOT SET**";
private const int pageSize = 5;
public static string CustomCache
{
get
{
return ConfigurationManager.AppSettings["CustomCache"] ?? NotSet;
}
}
public static int PageSize
{
get
{
// simple default - no setter
return pageSize;
}
}
}
typische Nutzung:
items = _repository.GetPaged(pageNumber, Config.PageSize)
in der obigen Klasse sind einige Einstellungen '2. Generation' von den App-Einstellungen in der web.config aber mit starken genannt Eingeben der Klassen, um die Laufzeitfehlerprüfung usw. sicherzustellen. Andere sind rein statische Einstellungen, die in der Klasse definiert sind.
es ist die Flexibilität, all das oben genannte zu tun, was (meiner Meinung nach) diesem Ansatz sowohl Anziehungskraft als auch echte Stärke verleiht.
Für was es wert ist, riecht es nicht schlecht zu mir. –