NoFollow Free!
SHIFT Weblog

Dieses Blog ist ein Online-Magazin für erfahrene Website-Entwickler und Webdesigner, die PHP und Webdesign lieben.

PHP

Mein Verständnis von MVC

mvc_v

MVC – diese drei Buchstaben haben es in sich. MVC ist ein Design Pattern, eine strukturelle Lösung für Entwickler. Kaum ein anderes Design Pattern löst so viel Kontroverse aus und regt zu endlosen Diskussionen an – zumindest in der PHP-Welt.

Das liegt daran, dass MVC recht oberflächlich beschrieben wird, und möchte man sämtliche MVC-Erklärungsversuche zusammenfassen, so ist man schnell der Auffassung:

  • Model (M) : Die Verbindung zur Datenbank
  • View (V) : Die Ausgabe an den Benutzer
  • Controller (C) : Der Verwalter zwischen den Schichten

Die Wahrheit ist aber: Es ist viel mehr als das. Der große Fehler, den MVC-Neulinge dabei begehen, ist, ihr Projekt nur nach diesen Gesichtspunkten zu gestalten. Oft wird übersehen, dass MVC nur eines von mehreren Zahnrädern in einer ganz anderen Schichtenarchitektur ist: Der Präsentationsschicht, der Logikschicht (auch als Businessschicht bezeichnet) und der Persistenzschicht. MVC agiert in allen drei Schichten, hauptsächlich jedoch in der Präsentationsschicht. Verfolgt man MVC-Diskussionen in gängigen Foren, kommt erschwerend hinzu, dass jeder MVC etwas anders auslegt. Es gibt also nicht selten kein “richtig” oder “falsch”. Die Grenzen, die MVC versucht aufzuzeigen, scheinen paradoxerweise ineinander zu verschwimmen.

Ich versuche, mit diesem Artikel dem Verständnis von MVC auf die Sprünge zu helfen, ich betone aber, dass dies nur meine Auffassung des Patterns ist. Ich möchte daher nicht deutlich machen, dass meine Ansicht die richtige oder die falsche ist – es ist eher ein mögliches Konzept zur strukturellen Realisierung von MVC. Außerdem liefere ich hier kein MVC-Tutorial, die allgemeine Funktion des Patterns sollte bekannt sein.

Weiterlesen ›

 
 

Weitere aktuelle Artikel

Datenbanken

Datenbank-Normalisierung – ein How-to für Beginner

Bei der Programmierung gilt: Vermeide Redundanz! Redundante Codezeilen erhöhen den Wartungsaufwand. Auch bei Datenbanken sind doppelte Datensätze nicht sehr hilfreich. Um diese zu verhindern, muss die Datenbank erst normalisiert werden.  Ich erkläre hier kurz und knapp, wie man seine Datenbank unter Gesichtspunkten der Normalisierung plant und versuche dabei das Thema so sanft wie möglich anzugehen.

Weiterlesen ›

Allgemein, Webdesign

UI Design: 13 Schritte zum besseren Formular

Formulare im Internet sind der Schlüssel zur Kommunikation und Interaktion. Kaum eine Webseite kommt ohne sie aus, und nicht selten werden Formulare zur ersten Kontaktaufnahme genutzt. Es ist jedoch so, dass die Internetnutzer eigentlich keine Lust haben, Formulare auszufüllen. Es wird als lästig empfunden, und die Aufgabe eines Webdesigners sollte es sein, das Formular so

Weiterlesen ›

JavaScript & jQuery

Mein jQuery-Plugin: PageScroll (ScrollTo-Alternative)

Wer hat diesen schönen Effekt noch nicht gesehen – bei der seiteninternen Ankernavigation gleitet der Bildschirminhalt sanft herunter, anstatt direkt dorthin zu springen. Dafür gibt es ein bekanntes Plugin von Ariel Fisler: jQuery.localScroll. Dieses Plugin benötigt jedoch ein weiteres Plugin vom gleichen Entwickler: jQuery.scrollTo. Selbst als minified-Version wären zwei HTTP-Requests und 4 kb notwendig, um

Weiterlesen ›