Zum Inhalt springen

Mvvm


steinadler

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...