2009-04-02 7 views

Antwort

2

Ein Ansichtsmodell dreht sich alles um die View (UI) mit dem Modell (Daten) zu binden. Es sollte also nicht für das Verfolgen von Änderungen verantwortlich sein, das sollten Sie in Ihren Model-Klassen tun, da sie die Daten enthalten.

Um die Benutzeroberfläche zu benachrichtigen, implementieren sowohl Model als auch ViewModel INotyfyPorpertyChanged. Das ViewModel fängt die Model-Ereignisse ab und leitet sie bei Bedarf an die View weiter.

Siehe http://msmvps.com/blogs/theproblemsolver/archive/2009/04/07/using-model-view-viewmodel-with-silverlight.aspx für ein vollständigeres Beispiel.

+1

Ich verstehe das, und dann wieder nicht. Modelle leben nicht sehr oft auf der Kundenseite. Ist es falsch zu sagen, dass die Modelle in MVVM tendenziell DTOs sind? –

+0

Ein Modell ist die Daten mit Geschäftsregeln. Im einfachen Fall mit kleinen Geschäftsregeln könnte es nur ein DTO sein. In einem komplexeren Fall wird ein DTO migth verwendet, um die Daten in den Client zu übernehmen, und dann wird das vollständige Modell erstellt. Siehe http://tinyurl.com/dhvkf9 für einen Blogbeitrag Ich habe MVVM in Silverlight erklärt – Maurice

+1

Ok, das ist der Teil, den ich nicht kaufe. Das "Domain/Business" -Modell existiert nicht auf der Client-Seite in meinen Büchern ... Übrigens; Wie gehen Sie in Ihrem Szenario mit Persistenz um? –

0

Ich habe nicht viele Ressourcen über das Thema gefunden.

Auch ich möchte mehr Diskussion zu diesem Thema

So frage ich mich, sehen; Wie gehst du normalerweise damit um?

  1. Gerade DataSet verwenden.
  2. Suchen Sie weiter nach Lösungen.
Verwandte Themen