Inhalt: Einleitung Struktur Ziele Model, View, Controller Vor
Transcrição
Inhalt: Einleitung Struktur Ziele Model, View, Controller Vor
MVC Inhalt: Einleitung Struktur Ziele Model, View, Controller Vor- und Nachteile Beispiel Einleitung MVC = Model-View-Controller Entwickelt von Trygve Reenskaug (Universität Oslo) 1978 MVC ist ein Architekturmuster für interaktive Systeme (allg. als Entwurfsmuster bekannt). Es handelt sich dabei um ein Anwendungsframework, der graphische Oberflächen modelliert. Framework = Sammlung von kooperierenden Klassen, welche ein wiederverwendbares Design ermöglichen (vollständiger Entwurf und teilweise Implementierung) Der Ablauf im MVC ist ereignis-basiert d.h. es gibt Callback-Funktionen (Methoden die automatisch aufgerufen werden, sobald ein bestimmtes Ereignis eintritt) Struktur Das Modell besteht im wesentlichen aus 3 Schichten (Client-Server-Modell) dabei gibt es die web-basierte Realisierung (thin client) oder eine zu installierende Oberfläche (fat client). Ziele Trennung von Verarbeitung und Präsentation Steuerung der Interaktion mit dem Benutzer Flexibilität gegen Änderungen Wiederverwendbarkeit Klare Arbeitsteilung (d.h. Web-Designer, Programmierer und Datenbankexperten) Model Schicht: Anwendungsdaten Verantwortlich: für die Anwendung spezifischer Verarbeitung für den Zugriff auf seine Daten für die Kommunikation mit dem Observer Eigenschaften: enthält die dauerhaften Daten der Anwendung, weiß nichts über evtl. Views und Controller hat View als abhängiges Objekt (Event) kann mehrere Views haben View Schicht: Darstellungsschicht (Ein- und Ausgabesichten) Verantwortlich: für die Präsentation von Informationen eines Models (verschiedene Varianten von Views möglich z.B. Liste,Balken- und Kuchendiagramm) für die Aktualisierung der Daten, die durch den Benutzer geändert wurden Eigenschaften: kann sich selbst aktualisieren kennt das Model und ist dort registriert Controller Schicht: Steuerungsschicht Verantwortlich: für die Interaktion des Benutzers mit der Anwendung für die Steuerung der Verarbeitung zwischen Model und View (Ablauf, Datenverarbeitung, entscheidet welche Views aufgerufen werden) Eigenschaften: kann den Kontext für verschiedene Models und Views darstellen Bestimmt die Möglichkeiten, mit denen die Benutzungsschnitstelle auf Benutzereingaben reagieren kann. Vorteile mehrere Ansichten (Views) desselben Models Synchronisierte Ansichten Austauschbarkeit von Erscheinungsbild und Bedienmerkmale Vorläufige Änderungen nur in den Views und nicht im Model Nachteile größere Komplexität Ineffizienter Datenzugriff innerhalb von Ansichten Schichtenmodell Klassenmodell Beispiel Quellen: http://www.informatik.fh-muenchen.de/~schieder/seminar-oo modellieren-ws97-98/f7alpha1.informatik.fhmuenchen.de/~ifw94032/mvc.html http://ivs.cs.unimagdeburg.de/~heisel/patbas/vortrag_kwolf.pdf http://www.fh-karlsruhe.de/servlet/PB/show/1003507/fbiPatterns3i.pdf http://de.wikipedia.org/wiki/Model_View_Controller