Modell: ist sehr einfach, es handelt sich um ein Datenobjekt im Zusammenhang mit der Geschäftslogik, das normalerweise aus der Datenbank zugeordnet wird. Wir können sagen, dass es sich um das der Datenbank entsprechende Modell handelt.
Ansicht: ist auch sehr einfach, es handelt sich um die angezeigte Benutzeroberfläche.
Grundsätzlich besteht die Aufgabe der meisten Software darin, Daten aus dem Datenspeicher zu lesen, sie auf der Benutzeroberfläche anzuzeigen, dann Eingaben von der Benutzeroberfläche zu empfangen und diese in den Datenspeicher zu schreiben. Daher gibt es grundsätzlich keine Einwände gegen die beiden Schichten Datenspeicherung (Modell) und Schnittstelle (Ansicht). Allerdings haben unterschiedliche Personen unterschiedliche Meinungen darüber, wie das Modell in der Ansicht angezeigt und Daten aus der Ansicht in das Modell geschrieben werden.
Die MVC-Schule ist der Ansicht, dass jede Änderung an der Schnittstelle ein Ereignis ist. Ich muss nur eine Menge Code für jedes Ereignis schreiben, um die Eingaben des Benutzers in Objekte im Modell umzuwandeln.
Die MVVM-Denkweise besteht darin, dass ich auch ein entsprechendes Datenobjekt für verschiedene Steuerelemente in der Ansicht definiere. Auf diese Weise wird der in der Ansicht angezeigte Inhalt automatisch aktualisiert, solange er geändert wird Bei jeder Operation in der Ansicht wird dieses Datenobjekt automatisch entsprechend aktualisiert, so schön. Also:
ViewModel: ist das Modell, das der Schnittstelle (Ansicht) entspricht. Da die Datenbankstruktur häufig nicht direkt den Schnittstellensteuerelementen eins zu eins entsprechen kann, ist es erforderlich, ein anderes Datenobjekt zu definieren, das speziell den Steuerelementen in der Ansicht entspricht. Die Aufgabe von ViewModel besteht darin, das Modellobjekt in ein Schnittstellendatenobjekt zu kapseln, das Eingaben anzeigen und akzeptieren kann.
Die Daten des Ansichtsmodells werden automatisch mit der Ansicht aktualisiert und mit dem Modell synchronisiert. Dieser Teil des Codes kann als gemeinsames Framework geschrieben werden, sodass sich Programmierer nicht darum kümmern müssen.
Einfach ausgedrückt ist ViewModel die Verbindung zwischen View und Model. View und Model erreichen durch ViewModel eine bidirektionale Bindung.