Zurück zur Übersicht

Begriff

MVVM (Model View ViewModel)

Development Architecture S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Eine Weiterentwicklung von MVC, speziell für moderne UIs (WPF, Vue, Angular). Problem bei MVC: Der Controller muss ständig Daten manuell hin- und herschaufeln. ("Nimm Text aus Inputfeld -> speicher in Model. Nimm Daten aus Model -> schreib in Label"). Lösung: Data Binding.

  1. Model: Die Daten (wie immer).
  2. View: Die UI (<input v-model="name">).
  3. ViewModel: Ein spezielles Objekt dazwischen. Magie: Wenn du im ViewModel name = "Max" setzt, ändert sich das Inputfeld automatisch. Wenn du im Inputfeld tippst, ändert sich die Variable name automatisch. Kein manuelles "DOM Update" mehr nötig.

Merksatz: Ein Architekturmuster, das Zwei-Wege-Datenbindung (Two-Way Binding) zwischen View und ViewModel nutzt, um die Synchronisation von Benutzeroberfläche und Datenlogik zu automatisieren.


Quick-Check

  1. Woher kommt es?
    Erfunden von Microsoft für WPF/Silverlight (C#). Populär gemacht im Web durch Knockout.js und später Vue/Angular.
  2. Controller vs ViewModel?
    Controller ist ein Dirigent (sagt was passieren soll). ViewModel ist ein Zustands-Container für die View (hält die Daten bereit und reagiert automatisch).
  3. Binder?
    Die unsichtbare Engine im Framework, die die Verbindung hält. In nativem JS müsste man das mühsam selbst schreiben (Proxy API).