MVC: Difference between revisions

From Medien Wiki
(created)
 
mNo edit summary
Line 1: Line 1:
Das MVC-Modell bezeichnet die Unterteilung und Trennung in Model, View, Controller. Neben besser Übersicht, hat dies vor allem den Vorteil, dass einzelne Programmteile einfacher wiederverwendet werden können. In den folgenden Abschnitten wird auf die einzelnen Bezeichnungen näher eingegangen:
Das MVC-Modell bezeichnet in der Programmierung die Unterteilung des Quellcodes und Trennung in ''Model'', ''View'' und ''Controller''. Neben besser Übersicht, hat dies vor allem den Vorteil, dass einzelne Programmteile einfacher wiederverwendet werden können. In den folgenden Abschnitten wird auf die einzelnen Bezeichnungen näher eingegangen:


== Model ==
== Model ==
Model meint den eigentlichen Programmcode, der die Haupt-Funktionalität beinhaltet. Bei einer Taschenrechner-Applikation z.b. wäre das Model der Teil, der die tatsächlichen mathematischen Berechnungen durchführt, und würde Funktionen wie <tt>addiere()</tt>, <tt>multipliziere()</tt> etc. enthalten.  
Model meint den eigentlichen Programmcode, der die Hauptfunktionalität beinhaltet. Bei einer Taschenrechner-Applikation z.b. wäre das Model der Teil, der die tatsächlichen mathematischen Berechnungen durchführt, und würde Funktionen wie <tt>addiere()</tt>, <tt>multipliziere()</tt> etc. enthalten.  


Das Model kann somit sehr leicht in anderen Programmen, ja sogar auf anderen Plattformen ohne große Änderungen übernommen werden.
Das Model kann somit sehr leicht in anderen Programmen, ja sogar auf anderen Plattformen ohne große Änderungen übernommen werden.


== View ==
== View ==
Die View ist der sichtbare Teil, also Fenster, Schaltflächen, Textboxen etc. Beim Programmieren mit Mac OS X und Xcode ist normalerweise die View alles, was mit Interface Builder erstellt und bearbeitet wird.
Die View ist der sichtbare Teil, also Fenster, Schaltflächen, Textboxen etc. Beim Programmieren mit Mac OS X und Xcode ist normalerweise die View alles, was mit Interface Builder erstellt und bearbeitet wird. Die View kann zwar auch programmatisch erstellt werden, in der Regel allerdings wird die View in einer grafischen Umgebung erstellt (z.B. einen Button per Drag-&-Drop auf ein Fenster ziehen).
Im Beispiel mit dem Taschenrechner wäre die View das LCD-Panel mit den Zahlen und alle Buttons.


Die View muss i.d.R. für Ports auf andere Systeme oder Betriebssystemversionen geändert oder neu erstellt werden.
Im Beispiel mit dem Taschenrechner wäre die View das LCD-Panel mit den Zahlen und alle klickbaren Buttons.
 
Die View muss i.d.R. für Portierungen auf andere Systeme (oder sogar nur andere Betriebssystemversionen) geändert oder neu erstellt werden.


== Controller ==
== Controller ==
Der Controller ist das Bindeglied zwischen Model und View und klebt ("glue") beide Teile zusammen. Damit ist auch der Controller Teil eher nicht oder nicht einfach wiederverwertbar; stellt dafür aber sicher, dass das Model einfach portierbar bleibt.
Der Controller ist das Bindeglied zwischen Model und View und klebt ("glue") beide Teile zusammen. Damit ist auch der Controller Teil nicht einfach wiederverwendbar; stellt dafür aber sicher, dass das Model einfach portierbar bleibt.


Im Beispiel mit dem Rechner wäre die Aufgabe des Controllers, einen Überblick über sämtliche Buttons zu behalten ("IBOutlet NSButton calcButtonMultiply;") und diesen Funktionen zuzuweisen (s. [[Target-Action-Paradigm]]). Der Controller enhält z.B. Funktionen wie <tt>buttonClicked(theButton)</tt>.
Im Beispiel mit dem Rechner wäre die Aufgabe des Controllers, einen Überblick über sämtliche Buttons zu behalten ("IBOutlet NSButton calcButtonMultiply;") und diesen Funktionen zuzuweisen (s. [[Target-Action-Paradigm]]). Der Controller enhält z.B. Funktionen wie <tt>buttonClicked(theButton)</tt>.

Revision as of 17:18, 15 January 2010

Das MVC-Modell bezeichnet in der Programmierung die Unterteilung des Quellcodes und Trennung in Model, View und Controller. Neben besser Übersicht, hat dies vor allem den Vorteil, dass einzelne Programmteile einfacher wiederverwendet werden können. In den folgenden Abschnitten wird auf die einzelnen Bezeichnungen näher eingegangen:

Model

Model meint den eigentlichen Programmcode, der die Hauptfunktionalität beinhaltet. Bei einer Taschenrechner-Applikation z.b. wäre das Model der Teil, der die tatsächlichen mathematischen Berechnungen durchführt, und würde Funktionen wie addiere(), multipliziere() etc. enthalten.

Das Model kann somit sehr leicht in anderen Programmen, ja sogar auf anderen Plattformen ohne große Änderungen übernommen werden.

View

Die View ist der sichtbare Teil, also Fenster, Schaltflächen, Textboxen etc. Beim Programmieren mit Mac OS X und Xcode ist normalerweise die View alles, was mit Interface Builder erstellt und bearbeitet wird. Die View kann zwar auch programmatisch erstellt werden, in der Regel allerdings wird die View in einer grafischen Umgebung erstellt (z.B. einen Button per Drag-&-Drop auf ein Fenster ziehen).

Im Beispiel mit dem Taschenrechner wäre die View das LCD-Panel mit den Zahlen und alle klickbaren Buttons.

Die View muss i.d.R. für Portierungen auf andere Systeme (oder sogar nur andere Betriebssystemversionen) geändert oder neu erstellt werden.

Controller

Der Controller ist das Bindeglied zwischen Model und View und klebt ("glue") beide Teile zusammen. Damit ist auch der Controller Teil nicht einfach wiederverwendbar; stellt dafür aber sicher, dass das Model einfach portierbar bleibt.

Im Beispiel mit dem Rechner wäre die Aufgabe des Controllers, einen Überblick über sämtliche Buttons zu behalten ("IBOutlet NSButton calcButtonMultiply;") und diesen Funktionen zuzuweisen (s. Target-Action-Paradigm). Der Controller enhält z.B. Funktionen wie buttonClicked(theButton).




Diese Seite ist Teil des Werkmoduls iOS Development von Michael Markert für Interface Design / Fakultät Medien an der Bauhaus-Universität Weimar.