Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
Model-View-Controller

Vielleicht wird es Sie überraschen, aber Sie haben soeben ein Programm nach dem für Cocoa Anwendungen typischen Model-View-Controller (MVC) Entwurfsmuster erzeugt. Hintergrund dieser MVC-Architektur ist eine strikte Trennung von Daten, Darstellung und Programmlogik, sowie einer verbesserte Wiederverwendbarkeit von Klassen.
stacks_image_2410357B-1800-496C-B162-2DFA7A3ABEB6
Das Modell (eng.model) bezeichnet die Daten der Anwendung. Dies können Daten aus einer Datenbank sein, aber auch Klassen oder andere vom Programm verwaltete Informationen.

Die Darstellung (eng. view) oder Präsentation, ist in der Regel die grafische Benutzeroberfläche der Anwendung, also der sichtbare Teil eines Programms. Der View bezeichnet eigenständige Anwendungen, aber ebenso Webapplikationen in einem Browserfenster. Er beschreibt also jeden Programmteil, der sich dem Benutzer mitteilt und Informationen anzeigt. Streng genommen sind auch akustische Signale Teile der Darstellung. Ebenso ermöglicht die Benutzeroberfläche in der Regel eine Manipulation der Daten oder leitet vielmehr diese Anweisungen an die Steuerung weiter.

Die Steuerung (eng. controller) ist letztendlich der Teil der Anwendung, welcher die Benutzereingaben verarbeitet und dafür sorgt, dass die Daten (model) zur Anzeige (view) gebracht werden. Eine weitere Aufgabe der Steuerung ist das Speichern der Daten in einer Datenbank oder in einer Datei.

Selbst wenn Ihnen diese Architektur vollkommen unbekannt ist, haben Sie in dieser Lektion schon damit gearbeitet. Nicht ohne Grund wurde die Klasse, welche Ihre Anwendung steuert, MyController genannt, denn sie ist die Steuerung für das gesamte Programm. Auf der grafischen Oberfläche, die Sie im Interface Builder entworfen haben, werden mit Hilfe des Controllers Informationen angezeigt. Das war bei der Hallo Welt Anwendung zwar nur ein Text, aber man könnte ihn trotzdem als Model bezeichnen.

Achten Sie bei den folgenden Lektionen darauf. Die Model-View-Controller Architektur wir Ihnen immer wieder begegnen.

nächste Seite