Vor knapp 20 Jahren und mit dem Siegeszug der Programmiersprache JAVA hielt eine Methode Einzug in die Welt der Programmierer, die bereits 1979 erstmals von Trygve Reenskaug beschrieben wurde. Es geht um die Trennung der Speicherung von Daten und der Logik des Computerprogramms von der Anzeige – also von der Bedienoberfläche. Bei Model-View-Controller, kurz MVC genannt, liegen die Daten dumm einer Datenbank (Model). Die Benutzeroberfläche (View) hingegen malt nur bunte Fenster und Felder auf dem Bildschirm in denen die Daten einfach nur angezeigt werden.
Der Controller in der Mitte dazwischen kümmert sich um den Rest. Er übernimmt die gesamte Logik. Er erkennt, wenn ein Nutzer in der Oberfläche (View) etwas eingetragen hat. Er prüft, ob die Eingaben formal richtig sind, also z.B. im Feld PLZ auch wirklich 5 Ziffern stehen. Und er schreibt die Daten dann auch in die Datenbank (Model). Diese muss sich dann auch um nichts mehr kümmern, sie ist nur noch ein großer Speicher. Das Model besitzt die Daten nur, hebt sie auf, aber es muss sich nicht um die Richtigkeit der Werte kümmern.
Das MVC-Prinzip hat viele Vorteile. Es ist überhaupt erst die Grundlage gewesen, warum man heute Programme auf mehreren Plattformen laufen lassen kann. Ohne MVC müsste man komplett eigenständige Programme für den Computer und das Handy programmieren. Eine Katastrophe, denn die vielen Applikationen wären niemals identisch gewesen. Es gäbe bestimmte Fehler hier und völlig andere Fehler dort. Es gäbe bestimmte Funktionen auf dem Computer, die auf dem iPhone fehlen, dafür auf Android zwar da sind, aber irgendwie etwas anderes machen – oder umgekehrt. Heute tauscht man dank MVC einfach die PC-Datenbank durch einen Android oder iOS basierten Standard-Datenspeicher (Model) aus, zeichnet eine für den Handybildschirm passende Oberfläche (View) und kann den Controller 1:1 übernehmen. Und schon ist das Programm vom Desktop-PC auf das Handy portiert.
MVC ist aber nicht immer problemlos. Beim gerade aktuellen iPhone hat der Taschenrechner ein MVC-Problem. Wenn man ganz schnell 2+5+6 tippt, verschluckt der Controller das zweite „+“ und rechnet fälschlicherweise 2+56. Statt 13 zeigt der View also 58 an – und weil er wie schon gesagt über keinerlei Intelligenz verfügt, merkt er den Fehler nicht einmal.
Das Prinzip der Trennung von Besitz (Model) & Kontrolle (Controller) von der hübschen Optik (View) ist übrigens noch viel, viel älter und wird in der Gesellschaft auch als Mann und Frau bezeichnet. Diverse Ehen haben jedoch gezeigt, dass es sich hierbei oft nur um ein theoretisches Modell handelt und viele Frauen ihre Ruhe haben, wenn sie die Männer einfach in dem Glauben lassen.