MVVM Data Cach

SanceZZ_86

Grünschnabel
Hi,

Ich schlage mich seit Tagen mit dem MVVM Patter herum.
Soweit so gut…
Jetzt meine Frage: „Wie realisiere ich am besten eine Lokale Datenhaltung“.

Ich habe fünf ViewModels, alle brauchen ein Objekt List<Empl> um damit zu arbeiten.
Das Objekt List<Empl> ist eine XML Datei im Dateisystem.

Schwachsinn wäre es jetzt in jedem ViewModel die Daten wieder zu laden.
Aber wo implementiere ich jetzt den Cach, bzw. wie ist das im Sinne von MVVM am besten lösbar?

Einen Wrapper um die XML Datei hab ich schon geschreiben, der mir die Daten bereitstellt.
Ich will später auch kein Binding aus dem ViewModel auf das UIElemet setzen, sondern das des Cachs.
 
Ich würde ein Haupt-ViewModel erstellen, welches die 5 anderen ViewModels instanziiert und dann kannst du dein List<Empl>-Objekt einfach im Konstruktor übergeben. Was anderes fällt mir nicht ein. Dir? (Ich beschäftige mich auch erst seit Kurzem mit MVVM.)
 
Moin, auf die Idee bin ich auch schon gekommen. Allerdings habe ich die wieder verworfen, da ich nicht nur ein Parameter sondern n Parameter in das ViewModel müssten.
Ich habe ein gutes Beispiel gefunden auf
http://wpf.codeplex.com/wikipage?title=WPF Model-View-ViewModel Toolkit&referringTitle=Home

Dort ist ein Messenger Sample.
Die machen das auch alles über das MainViewModel und haben da noch ein Singleton Pattern implementiert.

Was ich halt nicht weiß, ist ob das so im sinne von MVVM ist.
 
Was deckt denn dein Wrapper ab? Liest dieser nur das XML-File ein und kann es schreiben? Oder hält er schon die einzelnen Modelle/Entities? Wenn ja, dann hast du ohnehin schon deine Lösung, du müsstest nur mehr die Liste deiner Datenobjekte weitergeben. Damit arbeiten alle deine ViewModels mit einer Referenz auf dieselben Objekte. Done.
 
Zurück