Michael Korte – Senior Full-Stack Developer Freelancer aus Dortmund

Ziel dieses Teils

Dieser Abschnitt kritisiert kein MVC und bewertet keine Frameworks. Er beschreibt typische Beobachtungen aus realen Projekten, die viele Entwickler irgendwann machen – oft unabhängig davon, welches Framework sie einsetzen.

Wichtig

Die folgenden Punkte sind keine Fehler einzelner Entwickler. Sie entstehen aus Wachstum, Zeitdruck und realen Anforderungen.

2.1 Controller wachsen über ihre Rolle hinaus

In der Theorie koordinieren Controller. In der Praxis werden sie oft zum Sammelbecken.

  • HTML-Fragmente entstehen direkt im Controller
  • Business-Logik und Seitenstruktur vermischen sich
  • Assets werden „mal eben“ dort eingebunden
  • Fehlerbehandlung passiert ad hoc

Typisches Symptom

„Nur hier kurz eine Ausnahme…“ Und sechs Monate später ist der Controller unlesbar.

2.2 Rendering-Pfade werden implizit

MVC sagt dass gerendert wird – aber oft nicht wie eindeutig.

  • Templates inkludieren weitere Templates
  • Fehlerseiten haben Sonderwege
  • AJAX-, Partial- und Full-Responses folgen unterschiedlichen Regeln
  • HTML entsteht an mehreren Stellen

Das Ergebnis: HTML ist vorhanden – aber schwer erklärbar.

2.3 HTML wird Nebenprodukt

In vielen Projekten wird HTML nicht bewusst gebaut, sondern ergibt sich als Resultat von Logik.

  • Semantik entsteht zufällig
  • Accessibility wird nachgerüstet
  • SEO-Probleme werden mit Tools entdeckt – nicht verhindert

Beobachtung

Output-Qualität hängt stark von Disziplin ab – nicht von Struktur.

2.4 Fehlerseiten fühlen sich „anders“ an

404- und 500-Seiten folgen oft nicht denselben Regeln wie normale Seiten:

  • eigene Templates
  • eigene Asset-Logik
  • eigene Rendering-Wege

Technisch korrekt – aber konzeptionell ein Bruch.

2.5 Erweiterungen verschieben Verantwortung

Plugins, Events und Hooks lösen Probleme – erzeugen aber neue:

  • Logik springt zwischen Schichten
  • Debugging wird schwieriger
  • Reihenfolgen sind implizit

Der stille Effekt

Verantwortung wird verteilt – aber nicht mehr klar zugeordnet.

Zwischenfazit

  • MVC ist nicht kaputt
  • Die Probleme entstehen durch Wachstum
  • Disziplin allein skaliert schlecht

Genau hier setzt Clean-Output-MVC an – nicht als Ersatz, sondern als gezielte Reaktion auf diese Muster.