Zurück zur Übersicht

Begriff

MVC (Model View Controller)

Development Architecture S2
2 Quellen 0 Lernpfade 1 Backlink 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.

Wie verhindert man "Spaghetti-Code" (alles durcheinander)? Man teilt den Code in drei Schubladen:

  1. Model (Daten): Das Gehirn. ("User hat Name und Email"). Kümmert sich um die Datenbank.
  2. View (Anzeige): Das Gesicht. ("Zeige Name fettgedruckt an"). HTML/CSS. Weiß nichts von Datenbanken.
  3. Controller (Chef): Der Vermittler.
    • User klickt Button (Kommando an Controller).
    • Controller sagt Model: "Hol Daten".
    • Controller sagt View: "Zeig diese Daten an".

Trennung der Sorgen (Separation of Concerns). Der Designer kann an der View arbeiten, ohne den SQL-Code im Model kaputt zu machen.

Merksatz: Ein Architekturmuster, das eine Anwendung in drei logische Komponenten unterteilt: Datenmodell (Model), Präsentation (View) und Programmsteuerung (Controller).


Quick-Check

  1. Django MVT?
    Django nennt es "Model View Template". Model=Model, View=Controller, Template=View. Verwirrend, aber das gleiche Prinzip.
  2. Warum MVC?
    Wartbarkeit. Wenn du die Datenbank (Model) wechselst, musst du die View nicht anfassen. Wenn du das Design änderst, bleibt die Logik heil.
  3. Ist MVC tot?
    Im Backend (Spring, Rails) quicklebendig. Im Frontend durch React (Flux/Redux/Components) weitgehend abgelöst.