Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.

Ähnliche Präsentationen


Präsentation zum Thema: "Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung."—  Präsentation transkript:

1 Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung erfolgreicher Lösungen (Entwurfsmuster) –somit in oo Systemen oft wiederkehrende Muster von Klassen und kommunizierenden Objekten –Entwickler kann Muster auf vorliegende Probleme anwenden, ohne Lösung erneut zu suchen –Muster lösen spezifische Entwurfsprobleme –Muster machen Entwürfe flexibler, eleganter, wiederverwendbar

2 Design Pattern2 Entwurfsmuster Entwurfserfahrungen als Entwurfsmuster aufgezeichnet (Musterkatalog) –durch verständliche Darstellung gut nutzbar –erleichtern Wahl von Entwurfsalternativen –können Dokumentation + Wartung existierender Systeme erleichtern –ermöglichen Entwurf schneller „richtig“ zu machen Entwurfsmuster (C. Alexander): –beschreibt beständig wiederkehrendes Problem –erläutert Kern der Lösung für Problem –somit: Lösung beliebig oft, aber nicht jedesmal gleich, ausführbar

3 Design Pattern3 Entwurfsmuster Entwurfmuster sind Muster bestimmter Abstrak- tionsebene –Zusammenarbeit Objekte + Klassen zur Lösung von Entwurfsproblemen in bestimmtem Kontext Benennen, Abstrahieren, Identifizieren relevanter Aspekte einer allgemeinen Entwurfsstruktur –Klassen, Objekte, ihre Rollen + Aufgaben + Interaktionen zwischen Rollen identifiziert –Entwurfsmuster für je ein bestimmtes Entwurfs- problem: wann einsetzbar + Konsequenzen

4 Design Pattern4 Beschreibung von Mustern (I) (Musterbeschreibung nach Gamma) Mustername: –kurzes Stichwort, um Problem + Lösung zu erläutern –hilft bei Kommunikation im Team + Dokumentation Problemabschnitt –beschreibt, wann Muster anzuwenden ist (Zweck, Motivation, Anwendbarkeit)

5 Design Pattern5 Beschreibung von Mustern (II) Lösungsabschnitt –Elemente des Entwurfs, Beziehungen, Zuständig- keiten + Interaktionen (Struktur, Teilnehmer, Interaktionen) –kein bestimmter Entwurf, keine konkrete Imple- mentierung, sondern auf viele Situationen anwendbare Schablone (Elemente z.B. Klassen + Objekte) Konsequenzabschnitt –Konsequenzen der Musteranwendung (Vor- und Nachteile) + bekannte Verwendungen

6 Design Pattern6 MVC (Name, Problem) Name –MVC: Model View Controller Motivation –Erleichtert Entwurf und Wartung grafischer Benutzerschnittstellen durch Modularisierung –Model: Daten + Kernfunktionalität –View: Präsentation Model –Controller: Kontrollfluss (welche Aktion, welche Logik, welche View)

7 Design Pattern7 MVC (Problem) –Views nicht zu verändern bei verändertem Controller –Model unabhängig von Veränderungen in View und Controller Anwendbarkeit –für grosse Anwendungen –wenn klare Rollenverteilung nötig (Designer, Programmierer) –wenn starke Wiederverwendung angestrebt

8 Design Pattern8 MVC (Lösung I) Struktur: Methodenaufrufe Ereignisse View ControllerModel BenutzeraktionenView-AuswahlÄnderungenStatus erfragen Status ändern V CM

9 Design Pattern9 MVC (Lösung II) Teilnehmer: –Model, View, Controller Interaktionen –Views leiten Benutzeraktionen an Controller –Controller legt fest, wie Eingaben zu verarbeiten (Befehle an Model schicken und View selektieren) –Views können geänderte Werte des Models abfragen

10 Design Pattern10 MVC (Konsequenzen I) Konsequenzen +Gute Wiederverwendbarkeit +Mehrere Ansichten des selben Models möglich +Sichten und Controller sind austauschbar +Bessere Lesbarkeit  gute Rollenverteilung +Designer, Programmierer +Gute Skalierbarkeit und Erweiterbarkeit –Erhöhte Komplexität –Längere Planung –Mehr Aufwand bei Implementierung

11 Design Pattern11 MVC (Konsequenzen II) Bekannte Verwendungen –Smalltalk mit Benutzerschnittstellen Framework –MFC - Microsoft Foundation Classes –Swing –Web-Frameworks (Struts, Velocity, Tapestry)

12 Design Pattern12 Beispiel im JSP-Umfeld Benutzeraktion: OKInstanziieren + Status ändern (setLogin(...)...) login passwort setLogin(...)... View-Wahl Eingabe OK Comicanwendung View-Wahl Eingabe NOK Instanziieren der Bean Status ändern prüfeEingabe() muster Login Passwort ****** OK Bitte ausfüllen! muster Login Passwort OK Passwort falsch! Status abfragen (getLogin()) V CM View1.jsp View2.jspBean.java Controller.java

13 Design Pattern13 Quellen Wille, S., Go To Java Server Pages, Addison-Wesley, München, 2001 Gamma, E., Helm, R., Jonson, R., Vlissides, J., Entwurfsmuster, Addison-Wesley, Bonn, 1996 Siemers, S.: MVC meets XML, Javamagazin, 03/2002, S.24 Turau, V. Saleck, K., Schmidt, M.: Java Server Pages und J2EE: Unternehmensweite Web-Basierte Anwendungen, dpunkt.verlag, Heidelberg wedel.de/~si/seminare/ws97/Ausarbeitung/3.Krutscher/arc hmu3.htm


Herunterladen ppt "Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung."

Ähnliche Präsentationen


Google-Anzeigen