12,301
edits
mNo edit summary |
m (→View) |
||
| (3 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
Das MVC- | Das MVC-(Model/View/Controller)-Design Pattern beschreibt die empfohlene Unterteilung des Quellcodes bzw. Trennung in ein ''Model'', eine ''View'' und einen ''Controller''. Dies fördert nicht nur die Übersichtlichkeit, sondern hat vor allem den Vorteil, dass einzelne Programmteile einfacher wiederverwendet werden können. Das "Model" kann i.d.F. sehr einfach portiert werden, da so gut wie keine Abhängigkeiten zu anzeigespezifischen oder plattformabhängigen im Model vorkommen. Die "View" hingegen ist in den meisten Fällen zu 100% plattformabhängig, und damit ebenso der "Controller", der zwischen View und Model vermittelt. In den folgenden Abschnitten wird auf die einzelnen Bezeichnungen näher eingegangen: | ||
[[File:MVC.png]] | |||
== Model == | == Model == | ||
| Line 7: | Line 9: | ||
== 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 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). | 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. | Im Beispiel mit dem Taschenrechner wäre die View das LCD-Panel mit den Zahlen und alle klickbaren Buttons. | ||
| Line 18: | Line 20: | ||
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>. | ||
== Links == | |||
* http://developer.apple.com/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html | |||
{{Template:iPhoneDev}} | {{Template:iPhoneDev}} | ||