In MVVM-Muster möchte ich nicht über die Ansicht beim Erstellen des Modells denken. Also verwende ich öffentliche Eigenschaften mit in ILists gespeicherten Daten und so weiter. Aber dann ist mein Viewmodel nicht über Änderungen informiert, die an diesen Listen auf der Modellseite vorgenommen wurden. Soll ich stattdessen ObservableCollections in meinem Modell verwenden? Aber das scheint mir seltsam.MVVM Modell Design
Antwort
Ja, Sie sollten ObservableCollections verwenden. Ich weiß nicht, was daran seltsam wäre? Eine ObservableCollection benachrichtigt alle Listener über Änderungen. Das muss nicht unbedingt ein UI sein.
Ihr Ansichtsmodell soll nichts über den tatsächlichen Blick wissen Sie es, aber da es ein Ansicht Modell ist, ist es in Ordnung, denn es etwas zu übernehmen es verwenden wird, so ObservableCollection ist der Weg zu gehen und auch, soweit ich weiß, gängige Praxis.
Außerdem wissen die Listener genau, welche Elemente hinzugefügt oder entfernt wurden. Daher ist es nicht erforderlich, die gesamte Liste zu aktualisieren, wenn Änderungen auftreten => bessere Leistung für Aktualisierungen. Das ist auch, was Microsoft sagt (kann den Artikel darüber jetzt nicht finden)
Dies ist auch der Grund, warum Sie sehen, dass die meisten Menschen implementieren INotifyPropertyChanged auf ihrem Datenmodell, weil Sie möchten, dass das Viewmodel jedes Mal die Daten benachrichtigt werden Modelländerungen.
- 1. MVVM Design Frage
- 2. WPF-Design Frage (Custom Controls oder mvvm)
- 3. Modell mit Datenbank in MVVM
- 4. Django Tag Design-Modell
- 5. Django Modell Design Fragen
- 6. MVVM Design für Multi-Dokument-App?
- 7. DependencyProperty Analog für WPF MVVM Modell
- 8. MVVM View-Modell und asynchrone Dateninitialisierung
- 9. Silverlight MVVM Modell und Ansichtsmodell verknüpfen
- 10. Zugang MVVM Elternansicht Modell aus Sammlung
- 11. MVVM & WCF - Modell- und Modellbeziehung anzeigen
- 12. Modell-Design-Beratung für ASP.NET MVC
- 13. Schienen Modell Design ein spezielles Mitglied
- 14. Domain-Modell mit Nhibernate Design-Problem
- 15. Index im EF-Modell hinzufügen Erstes Design
- 16. Django Modell Design - 1 oder mehrere Tabellen
- 17. MVVM/ViewModel/Benutzersteuerelemente/DataContext/Command - Design Problem/Diskussion
- 18. Wie ein verschachteltes Modell in Kendo-mvvm erstellen
- 19. Ist in MVVM jedes ViewModel an nur ein Modell gekoppelt?
- 20. Spezifisches Modell für die Ansicht mit MVVM-Muster?
- 21. MVVM ist Befehl im Modell eine schlechte Praxis?
- 22. MVVM Licht - wie auf Eigenschaft in anderen Ansicht Modell zugreifen
- 23. Erläuterung und Namenskonvention für Modell und ViewModel in MVVM
- 24. WPF Datacontext nicht aktualisiert das Datagrid mit MVVM Modell
- 25. Verwenden Sie MVVM Light Messenger, um Werte zwischen View-Modell
- 26. In MVVM, mit Entity Framework, was füllt das View-Modell?
- 27. WPF MVVM Dienstschicht
- 28. MVVM Foundation vs MVVM Toolkit
- 29. MVVM & Entity Framework - Was löst Ereignisse aus?
- 30. MVVM ViewModel viele Eigenschaften
Das wollte ich wissen. Danke – apparat
Dies könnte sehr teuer in einer Anwendung beliebiger Größe/Komplexität werden. –