Knockout JS - Warum enthalten alle Beispiele nur ViewModel / View, aber kein Model?

8

Ich sehe mir eine Menge der verfügbaren Knockout JS-Dokumentation an, scheint aber nicht so zu sein, wie ich es von MVVM erwartet hätte (wenn man sich die Definition von MVVM von Wikipedia ansieht).

In allen Beispielen scheinen sie Quellcode für ViewModels und Views zu zeigen, aber es gibt nie ein Modell, jetzt scheint es so, als ob die meisten Funktionen, die das Modell enthalten sollte (Speichern / Abrufen einer Repräsentation von Daten), in das Ansichtsmodell Ich dachte, dass die ViewModels vielleicht eher mit dem Model verwandt sind, und die Binding-Ebene, die man kostenlos bekommt, ist das ViewModel, wie das alle Bindungen tut ...

Ich frage mich also, ob ich hier etwas verpasse? Da ich im Moment eine Frage habe, wo meine UI-Logik gehen sollte, dh Wasserzeichen hinzufügen, Inter-View-Chatter usw., und ich habe nicht wirklich eine solide Antwort dafür, wollte also bestätigen, dass ich die Musterverwendung verstehe in diesem Rahmen ist richtig, bevor Sie fortfahren.

    
somemvcperson 29.06.2011, 12:23
quelle

1 Antwort

7

In der Web-Entwicklung sind die Views und ViewModel auf der Client-Seite.

Die Modelle befinden sich auf der Serverseite.

Die Modelle repräsentieren die realen Objekte, während die Ansichtsmodelle sie nur hinsichtlich der Ansicht darstellen, in der sie angezeigt werden, z. Im Kundenmodell haben Sie alle Informationen, die sich auf den Kunden beziehen, aber in einem Kundensichtmodell haben Sie möglicherweise nur den Kundennamen (weil das alles in der Ansicht angezeigt wird).

Die meisten Knockout-Beispiele erklären das Model-Bit nicht, weil es serverseitig abhängig ist und in Ruby / C # / Python usw. geschrieben werden könnte. Knockout behandelt nur das View Model und View; Es ist serverseitig agnostisch.

Die serverseitige Technologie wird benötigt, um die Model-Schicht in MVVM zu entwickeln. Knockoutjs ist erforderlich, um die VM-V-Ebene zu entwickeln.

    
neebz 29.06.2011, 12:33
quelle

Tags und Links