2009-06-29 5 views
0

Ich frage mich nur, was der Best Practice-Ratschlag für die Architektur für einen Einstellungs-Klasse wäre. Wir haben eine Reihe von Tabellen, die verwendet werden, um die Klasse zu füllen, ich vermute, eine Hashtable ist der beste Weg zu gehen? Es wäre auch schön, eine stark typisierte Sammlung über den Umfang der App in Intellisense verfügbar zu haben.Einstellungen Klasse Architektur

z.B.

Settings.Car.Colour

Ich bin auch über die SQL dependancy Klassen in .NET fragen - ich möchte diese Beobachter implementieren Muster- nur fragen, ob jemand irgendwelche Gedanken darüber, ob seine die beste Option - oder sollte ich meine eigene Lösung rollen lassen. Die hinzugefügten Tabellen und Einstellungen innerhalb des SQL-Servers scheinen dies auf einen verwalteten Server zu beschränken.

Irgendwelche anderen Klassen innerhalb des Rahmens, den ich betrachten sollte?

Antwort

1

Ich würde die SQL Dependency-Klassen nicht verwenden, um festzustellen, wenn sich etwas in den Einstellungen in Ihrer Datenbank ändert. Es bindet Sie zu sehr an die spezifische Datenbank (obwohl Sie es abstrahieren könnten, wenn Sie wollten).

Stattdessen würde ich eine Art von Benachrichtigung an Empfänger senden, die interessiert sind, wenn die Änderungen an der Datenbank auftreten, und dann die Listener ihren Cache ungültig machen.

Außerdem wird immer empfohlen, eine stark typisierte Sammlung hinzuzufügen. Es könnte nur Aufrufe an das Hashtable/Dictionary weiterleiten, aber Sie möchten etwas, an das Sie während der Kompilierung binden können, im Gegensatz zur Laufzeit.