steinadler Geschrieben 13. April 2012 Teilen Geschrieben 13. April 2012 Hallo ihr, ich habe mich jetzt mal mit MVVM beschäftigt. Simples Beispiel: ich habe einen Button und wenn ich diesen betätige, soll ein Ablauf in einer Maschine gestartet werden. Dafür habe ich sagen wir mal 10 Klassen (Statemachines) die zusammen eine Maschine abbilden und jeweils einen Status haben. In der "View" plaziere ich den Button. Im ViewModel lege ich für jeden StateMachine-Status eine Eigenschaft an, welche die Daten für die View verfügbar macht. Aber was ist das Model??? Ist das der ganze komplette Unterbau mit, in meinem Fall, allen enthaltenen Statemachines? Oder setzt das MVVM-Pattern erst dort oben drauf? Ich habe mir zwar viele Artikel durchgelesen, doch bin ich mir nicht sicher, ob ich wirklich auf dem richtigen Weg bin? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rekon1602 Geschrieben 13. April 2012 Teilen Geschrieben 13. April 2012 Ich bin mir zwar nicht ganz sicher, aber ich glaube, dass die gesamte Business-Logik einer Anwendung in den "Model-Part kommt" Die Grafik zu MVVM hier find ich nicht schlecht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 14. April 2012 Teilen Geschrieben 14. April 2012 vereinfacht gesagt sind das Model deine Daten, egal aus welcher Quelle. Im Modell ist auch die Businesslogik deines Programms angesiedelt. Das ViewModell aggregiert nun nur noch die Daten, die du in deiner View ausgeben möchtest. Welches Darstellungsframework benutzt du? WinForms? WPF? ASP.NET? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 14. April 2012 Teilen Geschrieben 14. April 2012 Im Prinzip ist das MVVM-Konzept ein aufgebohrtes MVC. Das View-Model ist quasi nur eine Zwischenklasse, die die View vom Model und der Control abkoppelt. Die Interaktion mit dem Benutzer geschieht in der View, welche an das View-Model gebunden ist - das altbekannte Databinding. Das Interessante an der Idee ist, da das Viewmodel die View quasi in Codeform repräsentiert, kann man sich die ganze GUI-Testerei sparen. Das Viewmodel enthält eine leicht zu testende Repräsentation der View und die View selbst ist sprichwörtlich »dumm«, d.h. ohne Logik. Es werden lediglich Ereignisse an das Viewmodel weitergegeben oder eine Änderung durch ein geändertes Viewmodel hervorgerufen. In Deinem Beispiel ist es schwer das Model zu charakterisieren. Im Grunde ist das ganze aber mit dem Observerpattern zu erklären: Im Grunde ist Dein Viewmodel dein Observer, welches alle Änderungen Deiner Statemachines wissen will. Deine Statemachines sind dann die beobachteten Subjekte. Im Falle von Businessanwendungen sind die beobachteten Subjekte eben Daten(modelle)=Model. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
steinadler Geschrieben 16. April 2012 Autor Teilen Geschrieben 16. April 2012 Okay, danke erstmal für die Antworten. So langsam versteh ich das. Werden soll es WPF. Ich wollte eben nur erst die empfohlene Herangehensweise verstehen und auf meine tiefer liegende Softwarestruktur abbilden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.