Model-View-Controller-Paradigma

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.

Dieser Artikel sollte überarbeitet werden.
Die Regeln für GlossarWiki-Artikel sollten beachten werden.
Die Aussagen sollten inhaltlich verbessert bzw. präzisiert werden.
In diesem Artikel sollten die Quellenangaben überarbeitet werden.
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.
Es sollten nicht nur Wikipedia-Artikel als Quelle verwendet werden.

Dieser Artikel ist nicht korrekt kategorisiert (siehe Regeln für GlossarWiki-Artikel).

Definition

MVC ist die Abkürzung für Model View Controller.

Das MVC-Paradigma bezeichnet ein Architekturmuster zur Trennung eines Programms in drei separate Einheiten: Datenmodell (Model), Präsentation (View) und Programmsteuerung (Controller). Vorteile dieses Paradigmas ist ein flexibles Programmdesign, welches Wiederverwendbarkeit der einzelnen Komponenten und reduzierte Komplexität gewährleistet, insbesondere bei großen Anwendungen.

Bemerkungen

Geschichte

Ursprünglich wurde das Model-View-Controller Paradigma 1978/79 von der Firma Xerox für die GUI-Programmierung eingeführt. Zum Einsatz kam die damals ebenfalls von Xerox entwickelte objektorientierte Programmiersprache Smalltalk.

Damals war es nicht unüblich in Spaghetti-Code zu entwickeln, was mit vielen Nachteilen verbunden ist. In neueren Programmiersprachen wie Java kommt MVC ebenfalls bei der GUI-Programmierung zum Einsatz und ist allgemeiner Standard beim Entwurf komplexer Softwaresysteme, bei denen die Anwendungslogik von anderen Teilen des Systems getrennt werden soll.

Eine Variante ist MVC2 (MVC Model 2 bzw. MVC Version 2), die speziell für Webanwendungen gedacht ist.

Vorteile

Das MVC-Paradigma bietet eine Reihe von Vorteilen:

  • Gut strukturiertes Design durch klare Trennung der Anwendungslogik von den dazugehörenden Daten und der Benutzerinteraktion.
  • Änderungen an einer Komponente sind möglich, ohne dass andere Komponenten davon betroffen werden; sogar ganze Komponenten können ausgetauscht werden.
  • Mehrere Ansichten des Systems können durch Austausch verschiedener Views realisiert werden.
  • Im Fehlerfall ist die Suche nach dem Fehler in der Regel auf eine Komponente beschränkt.
  • Erweiterbarkeit bestehender Systeme, indem neue Komponenten hinzugefügt werden. Alte Komponenten können aus Kompatibilitätsgründen erhalten bleiben.

Insgesamt sind Programmcode und Komponenten übersichtlicherer und einfacher zu warten, zu ändern und auszutauschen.

Nachteile

Auch wenn die Vorteile überwiegen, gibt es dennoch ein paar Nachteile:

  • Bei der Planung und Implementierung ist wesentlich mehr Gründlichkeit erforderlich
  • Erheblicher Mehraufwand bei kleinen Applikationen

Konzept

In Arbeit ...

Anwendungsgebiete

In Arbeit ...

Beispiele

Beispiele machen sich auch nicht schlecht.

Quellen

Wenn die Definitionen und/oder die Anmerkungen nicht von einem selbst stammen, sollte man die Quellen angeben (das sind natürlich nur Beispiele, keine echten Quellen dieses Artikels :-) ):

  • Hinz und Kunz, "Der Bau einer Musterseite", 7. Auflage, Wiki-Verlag, 1931

Besser ist es spezielle Quellendokumente zu erstellen (und diese dann auch mit Inhalt zu füllen):

Auch externe Quellen können zitiert werden.

Siehe auch

Wikipedia:MVC