App - Library - Plugins
Verfasst: 3. Februar 2010 19:02
Hallo!
Ich habe eine Designfrage... Zurzeit habe ich ein MainWindow mit mehreren Dialogen, und einige Singleton Models für die Daten. Die Models sind meine Schnittstellen zur Datenbank. Da ich für verschiedene Kunden die Dialoge immer anpassen / erweitern bzw. ein- oder ausblenden muss hab ich mir gedacht, ich löse das über Plugins und kann dann z.B. für neue Kunden einfach ein neues Plugin erstellen. Die Models bleiben immer gleich. Allerdings muss ich von jedem Dialog auf die Singleton Instance von den Models zugreifen können, damit ich die Views immer auf dieses Model verbinden kann. Ich würde jetzt die Models in eine Library packen, und diese zu den Plugins linken. Meine Frage ist jetzt, ob dies der richtige Weg ist oder ob es hier eine bessere Lösung gibt?
Ich hab mir auch überlegt, den Dialogen eine Referenz auf das Model zu übergeben, damit müsste ich nur die Header Dateien inkludieren und nicht gegen die Library linken.
Als Beispiel:
- ein DatenpunktModel, welches bei der ersten Instanzierung die Daten aus der Datenbank holt, und später kann man Datenpunkte hinzufügen/ändern/löschen
- ein Dialog zum Hinzufügen/Bearbeiten/Löschen von Datenpunkten
- ein Dialog der Datenpunkte + weitere Infos visualisiert
Ich möchte natürlich für beide Dialoge das gleiche Model, damit ich alle Änderungen in den Views sofort mitbekomme.
Vielen Dank!
Ich habe eine Designfrage... Zurzeit habe ich ein MainWindow mit mehreren Dialogen, und einige Singleton Models für die Daten. Die Models sind meine Schnittstellen zur Datenbank. Da ich für verschiedene Kunden die Dialoge immer anpassen / erweitern bzw. ein- oder ausblenden muss hab ich mir gedacht, ich löse das über Plugins und kann dann z.B. für neue Kunden einfach ein neues Plugin erstellen. Die Models bleiben immer gleich. Allerdings muss ich von jedem Dialog auf die Singleton Instance von den Models zugreifen können, damit ich die Views immer auf dieses Model verbinden kann. Ich würde jetzt die Models in eine Library packen, und diese zu den Plugins linken. Meine Frage ist jetzt, ob dies der richtige Weg ist oder ob es hier eine bessere Lösung gibt?
Ich hab mir auch überlegt, den Dialogen eine Referenz auf das Model zu übergeben, damit müsste ich nur die Header Dateien inkludieren und nicht gegen die Library linken.
Als Beispiel:
- ein DatenpunktModel, welches bei der ersten Instanzierung die Daten aus der Datenbank holt, und später kann man Datenpunkte hinzufügen/ändern/löschen
- ein Dialog zum Hinzufügen/Bearbeiten/Löschen von Datenpunkten
- ein Dialog der Datenpunkte + weitere Infos visualisiert
Ich möchte natürlich für beide Dialoge das gleiche Model, damit ich alle Änderungen in den Views sofort mitbekomme.
Vielen Dank!