Zuerst bin ich nicht wütend, weil ich MVVM in WinForms- verwenden- Ich weiß über MVP (Model View Presenter) -Muster und seine Varianten. Aber als ich mit diesem Projekt anfing, wollte ich WPF lernen und es benutzen, aber ich bin gezwungen, die Programmentwicklung zu beschleunigen, und habe keine Zeit, WPF zu lernen, also muss ich es in WinForms schreiben, die ich gut kenne.Windows Forms (WinForms) Modell Ansicht ViewModel Muster (MVVM) zu DataBind oder nicht
Kurz gesagt, ich habe eine große Daten orientierte Smart-Client-Anwendung, die kurz vor dem Abschluss ist, habe ich alle Modelle und ViewModels getan (Infrastruktur, Domain, Präsentation getan) UI ist auch getan, jetzt muss ich nur UI zu verbinden zu ViewModels. Zuerst fing ich an, es unter Verwendung der Standard winforms Weise (BindingSources und einfache Datenbindung) zu verdrahten, aber als ich 30-50% der Bindung fand, fand ich heraus, dass mein Programm sehr langsam arbeitet, ich habe 100-150 gebundene Eigenschaften so weit, 30 von Sie sind Domain-Root-Entity (Aggregat-Root) -Bindungen an ihre EditForm. In dieser Situation funktioniert Datenbindung also nicht gut, viele unnötige Updates, Kaskaden-Updates der gesamten Ansicht, wenn sich etwas Kleines ändert, unklares Verhalten und andere hässliche Dinge. Es riecht nach sehr unzuverlässigem Code, auf den ich wenig Kontrolle habe. Also fing ich an, die Verkabelung als reinen WinForms-Code neu zu schreiben (ich abonniere PropertyChange- und ListChanged-Ereignisse und setze die ViewModels-Eigenschaft selbst von der Benutzeroberfläche aus). Viel Code zum Schreiben, aber es funktioniert viel schneller, ich habe die volle Kontrolle darüber, und es fühlt sich viel zuverlässiger an. Also, was denkst du über diese Jungs? Jeder hatte solche Erfahrung? Was ist dein Urteil über "To DataBind or Not"?
siehe auch http://stackoverflow.com/questions/654722/implementing-mvc-with-windows-forms/682216#682216 –