Hallo zusammen,
ich zerbreche mir mittlerweile schon seit Wochen den Kopf über die Umsetzung meines Datenmodells nach MVVM. Ich habe verschiedene Varianten probiert, doch bei jeder gibt es ein oder mehrere Szenarien, die ich damit nicht abgedeckt bekomme, vielleicht denke ich einfach zu engstirnig
Ausgangssituation:
- Die Anwendung arbeitet mit Projekten, jedes Projekt soll in einer eigenen Firebird-Datenbank abgespeichert werden
- In der Anwendung können mehrere Projekte gleichzeitig geöffnet sein, die Projekte werden in einem TreeView angezeigt:
* Ein Projekt besteht aus einem Baum von Projektelementen (Kategorien und Formulare).
* Das Projekt besitzt eine Top-Level-Kategorie (Root-Knoten).
* Jedem Kategorie-Knoten können wiederum beliebig viele Kategorien und Formulare untergeordnet sein.
* Ein Formular ist in jedem Fall ein Blatt, eine Kategorie kann (auch wenn es eher wenig Sinn macht) ein Blatt sein.
Jetzt meine Frage...
Wie wäre euer Ansatz für das Model und das ViewModel? Soll z.B. eine Kategorie im Model schon eine Auflistung aller Unterelemente haben, oder soll diese erst bei Generierung des ViewModels entstehen und wie würde ich dann die Referenzierung Kategorie -> Unterelemente ablegen? Außerdem wird es mehr oder weniger oft von Nöten sein, von einem beliebigen Element auf das Projekt, in dem es sich befindet, zuzugreifen ... soll jedes Element demnach eine Referenz auf das Projekt bekommen oder wie würdet ihr das lösen? Oder soll ich in dem Element eine Referenz auf seinen übergeordneten Knoten speichern, oder, oder, oder...?
Ich habe mir mittlerweile zu dem Thema schon so viele Wege überlegt, dass ich jetzt sehr unsicher bin, wie ich am besten an die Sache rangehe ... vielleicht könnt ihr mir zumindest einen Schubs in eine sinnvolle Richtung geben!
Grüße
Marc (smdata2)