1 / 13

Motivation Entwurfsmuster

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

kirk
Download Presentation

Motivation Entwurfsmuster

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Design Pattern

  2. 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 Design Pattern

  3. 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 Design Pattern

  4. 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) Design Pattern

  5. 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 Design Pattern

  6. 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) Design Pattern

  7. 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 Design Pattern

  8. View Änderungen Status erfragen Benutzeraktionen View-Auswahl Model Controller Status ändern Methodenaufrufe Ereignisse MVC (Lösung I) V M C Struktur: Design Pattern

  9. 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 Design Pattern

  10. 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 Design Pattern

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

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

  13. 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 2001 • http://www.fh-wedel.de/~si/seminare/ws97/Ausarbeitung/3.Krutscher/archmu3.htm Design Pattern

More Related