MVC-Architektur am Beispiel von...

24
MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009

Transcript of MVC-Architektur am Beispiel von...

Page 1: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

MVC-Architektur am Beispiel von OLAT

Marvin Frommhold

12. Januar 2009

Page 2: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Gliederung

BegriffeEntwurfsmuster

Umsetzung in OLATAufbau des Brasato-Frameworks

Quellen

Page 3: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Begriffe I

MVC

I bezeichnet ein Architekturmuster zurStrukturierung von Software und derEntwicklung in drei Einheiten:

I Datenmodell (Model)I Prasentation (View)I Programmsteuerung (Controller)

I Ziel: ein flexibler Programmentwurf, der u. A.eine spatere Anderung oder Erweiterungerleichtert

I Wiederverwendbarkeit der einzelnenKomponenten, leichter Austausch dieser

Page 4: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Begriffe I

MVC

I bezeichnet ein Architekturmuster zurStrukturierung von Software und derEntwicklung in drei Einheiten:

I Datenmodell (Model)I Prasentation (View)I Programmsteuerung (Controller)

I Ziel: ein flexibler Programmentwurf, der u. A.eine spatere Anderung oder Erweiterungerleichtert

I Wiederverwendbarkeit der einzelnenKomponenten, leichter Austausch dieser

Page 5: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Begriffe II

Modell:

I enthalt die Darzustellenden Daten und meistauch deren Verarbeitung (Berechnungen), dieGeschaftslogik

I Anderungen werden nach dem Entwurfsmuster

”Beobachter“ bekanntgegeben

Prasentation:

I Darstellung der jeweiligen Daten aus dem ModellI Entgegennahme von BenutzerinteraktionenI verwendet meist das Entwurfsmuster

”Kompositum“

Page 6: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Begriffe II

Modell:

I enthalt die Darzustellenden Daten und meistauch deren Verarbeitung (Berechnungen), dieGeschaftslogik

I Anderungen werden nach dem Entwurfsmuster

”Beobachter“ bekanntgegeben

Prasentation:

I Darstellung der jeweiligen Daten aus dem ModellI Entgegennahme von BenutzerinteraktionenI verwendet meist das Entwurfsmuster

”Kompositum“

Page 7: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Begriffe III

Steuerung:

I verwaltet eine oder mehrere PrasentationenI nimmt deren Benutzerinteraktionen entgegen,

wertet diese aus und reagiert entsprechendI auf Grund der Aktionen entscheidet die

Steuerung, welche Daten im Modell verandertwerden mussen

I verwendet Entwurfsmuster”Strategie“

Page 8: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster I

Observer: (Beobachter)

I Problem: eine/mehrere Komponenten stellenZustand eines Objekts aus dem Modell dar,diese kennen gesamte Schnittstelle diesesObjekts; andererseits soll das Objekt von denKomponenten unabhangig bleiben, also derenSchnittstellen nicht kennen

I Losung: das beobachtete Objekt stelltMechanismus bereit, uber den Beobachter sichan-/abmelden konnen und diese vom Objektuber Anderungen informiert werden; das Objektmuss somit nur eine einheitliche Schnittstelleseiner Beobachter kennen

Page 9: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster I

Observer: (Beobachter)

I Problem: eine/mehrere Komponenten stellenZustand eines Objekts aus dem Modell dar,diese kennen gesamte Schnittstelle diesesObjekts; andererseits soll das Objekt von denKomponenten unabhangig bleiben, also derenSchnittstellen nicht kennen

I Losung: das beobachtete Objekt stelltMechanismus bereit, uber den Beobachter sichan-/abmelden konnen und diese vom Objektuber Anderungen informiert werden; das Objektmuss somit nur eine einheitliche Schnittstelleseiner Beobachter kennen

Page 10: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster II

Abbildung: http://de.wikipedia.org/w/index.php?title=Datei:Beobachter-pattern.png&filetimestamp=20080305110419

Page 11: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster III

Kompositum: I Grundidee: Reprasentation von primitivenObjekten sowie deren Behalter in einerabstrakten Klasse; somit konnen einzelneObjekte, als auch ihre Kompositionen einheitlichbetrachtet werden

I Verwendung: Implementierung vonTeil-Ganzes-Hierarchien; Verbergen derUnterschiede zwischen einzelnen undzusammengesetzten Objekten

Page 12: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster III

Kompositum: I Grundidee: Reprasentation von primitivenObjekten sowie deren Behalter in einerabstrakten Klasse; somit konnen einzelneObjekte, als auch ihre Kompositionen einheitlichbetrachtet werden

I Verwendung: Implementierung vonTeil-Ganzes-Hierarchien; Verbergen derUnterschiede zwischen einzelnen undzusammengesetzten Objekten

Page 13: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster IV

Abbildung: http://de.wikipedia.org/w/index.php?title=Datei:Kompositum Klassen.png&filetimestamp=20060407095951

Page 14: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster V

Strategie:

I Umsetzung meist durch eine Klasse, die einebestimmte Schnittstelle implementiert

I Anwendung:

I viele verwandte Objekte unterscheiden sich nurim Verhalten

I unterschiedliche (austauschbare) Varianteneines Algorithmus werden benotigt

Page 15: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster V

Strategie:

I Umsetzung meist durch eine Klasse, die einebestimmte Schnittstelle implementiert

I Anwendung:

I viele verwandte Objekte unterscheiden sich nurim Verhalten

I unterschiedliche (austauschbare) Varianteneines Algorithmus werden benotigt

Page 16: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Entwurfsmuster VI

Abbildung: http://de.wikipedia.org/w/index.php?title=Datei:Strategie.png&filetimestamp=20050307081336

Page 17: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Umsetzung in OLAT

OLAT:

I Online Learning And TrainingI web-basiertes Learning Management System

(LMS)I basiert auf Java, Open SourceI Entwicklung an der Universitat Zurich

I aus dieser Entwicklung heraus entstand dasBrasato-Framework

Page 18: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks I

I im Brasato-Framework sind die beiden Schichten”Model“ und

”View“ sehr eng miteinander verbunden

I werden in einer Klasse zusammengefugt, aber durchverschiedene darunterliegende Klassen und Dateienreprasentiert, dadurch wird wieder eine Trennung der beidenSchichten ermoglicht

Modell/View

I org.olat.core.gui.components.ComponentI Vereint die Entwurfsmuster

”Observer“ und

”Kompositum“

I Schnittstelle zum Anmelden von Uberwachern(Controller)

I Schnittstelle zum Benachrichtigen derUberwacher

Page 19: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks I

I im Brasato-Framework sind die beiden Schichten”Model“ und

”View“ sehr eng miteinander verbunden

I werden in einer Klasse zusammengefugt, aber durchverschiedene darunterliegende Klassen und Dateienreprasentiert, dadurch wird wieder eine Trennung der beidenSchichten ermoglicht

Modell/View

I org.olat.core.gui.components.ComponentI Vereint die Entwurfsmuster

”Observer“ und

”Kompositum“

I Schnittstelle zum Anmelden von Uberwachern(Controller)

I Schnittstelle zum Benachrichtigen derUberwacher

Page 20: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks II

I abstrakte Basisklasse aller zu prasentierenden Objekte(Kompositum)

I die Darstellung der Objekte geschieht durchorg.olat.core.gui.components.ComponentRenderer

Page 21: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks II

I abstrakte Basisklasse aller zu prasentierenden Objekte(Kompositum)

I die Darstellung der Objekte geschieht durchorg.olat.core.gui.components.ComponentRenderer

Page 22: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks III

Contoller:

I org.olat.core.gui.control.ControllerI verwendet das Entwurfsmuster

”Strategie“

I einheitliche Schnittstelle, welche Informationuber das uberwachte Objekt und die zugehorigeAktion erhalt

Page 23: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Aufbau des Brasato-Frameworks III

Contoller:

I org.olat.core.gui.control.ControllerI verwendet das Entwurfsmuster

”Strategie“

I einheitliche Schnittstelle, welche Informationuber das uberwachte Objekt und die zugehorigeAktion erhalt

Page 24: MVC-Architektur am Beispiel von OLATbis.informatik.uni-leipzig.de/de/Lehre/0809/WS/SWT/uebung5/files?get=praesentation...Begri e I MVC I bezeichnet ein Architekturmuster zur Strukturierung

Quellen

I Wikipedia, Die freie Enzyklopadie: Model View Controller,Wikimedia Foundation Inc.

Vielen Dank fur Eure Aufmerksamkeit!