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

Slides:



Advertisements
Ähnliche Präsentationen
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Advertisements

Blue J.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Softwarepraktikum SS 2008 Vorlesung 02 – Prof. Dr
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Design-Pattern.
Harald Köbler Software Design Patterns Prototype.
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Ruby on Rails im Überblick
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Komponentenbasierter Taschenrechner mit CORBA
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Sebastian Grahn Sebastian Kühn
MVC – ein Architekturmuster
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
XDoclet ETIS SS05.
Transaction Script Software Component Technology for Distributed Applications.
Explizite und editierbare Metainformationen für Software Muster.
Remote Methode Invocation (RMI)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.
Entwurfsmuster EDV Entwurfsmuster.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
UML Begleitdokumentation des Projekts
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Wir bauen uns eine Webapplikation!
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Interpreter Seminar Entwurfsmuster Tobias Webelsiep
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Die Struktur von Untersuchungen
Seminar Softwareentwicklung Programmierstil Helmut Schmidauer
UML-Kurzüberblick Peter Brusten.
Nucleus-International.net Visualisierung Wie und Warum 04/2008
Context-awareness Andreas Bossard, Matthias Hert.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Java Programmierung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Webbasierte Verwaltung von Raumbelegungen
Software Design Patterns
Java Server Pages 2 und Benutzerdefinierte Tags Strahil Yordanov.
Benutzerdefinierte Tags
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Entwurfsmuster (Design Pattern)
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Laborpraktikum Umsetzung von Pattern SS 05 Prof. Paul, Dipl.-Inf. Fröhlich, Dipl.-Inf. Linke {paul | iti.cs.uni-magdeburg.de
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:
Dieser Vortrag wird gesponsort von:
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
Rechen- und Kommunikationszentrum (RZ) Entwicklung einer Web- Oberfläche mit Apache Wicket am Beispiel des IdentityAdmins Seminarvortrag Melanie.
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
© 2004 Model-View-Control Pattern (MVC) Das Model-View-Control Pattern.
Das Entwurfsmuster Model-View-Controller
Programmiermethodik Übung 9
 Präsentation transkript:

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

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

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

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)

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

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)

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

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

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

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

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

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

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