Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 -LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Harald Köbler Software Design Patterns Prototype.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Konzepte objektorientierter Systeme
Frame-Logik Eine Einführung Andreas Glausch.
Designing Software for Ease of Extension and Contraction
Einführung in die Programmierung Ausführbare Klassen
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
Design Patterns- Entwurfsmuster
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Strategy Pattern Richard Göbel.
DOM (Document Object Model)
Komponentenbasierter Taschenrechner mit CORBA
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Basisdesign 4. Generation PacMan
Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn.
MVC – ein Architekturmuster
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Remote Methode Invocation (RMI)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Software Design Patterns Creational Patterns Structural Patterns Behavioral Patterns –Behavioral Class Patterns Interpreter Template Method Pattern –Behavioral.
Entwurfsmuster EDV Entwurfsmuster.
DVG Klassen und Objekte
Mergesort Divide and Conquer
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Proseminar an der TU München Martin Levihn
Interpreter Seminar Entwurfsmuster Tobias Webelsiep
Gruppe: Gewinnt Überblick 1.0 (Martin Kapfhammer)
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Konzepte der objektorientierten Programmierung
Objektorientiertes Design
1.2 Trennung von Struktur und Inhalt
1.5 Das Entwurfsmuster Kompositum
Testtechniken-Praktikum WS 2005/06 1 Testen mit Mock- Objekten Andreas Höfer Dr. Matthias Müller.
EPROG Tutorium #6 Philipp Effenberger
OOP Übung 6 Gruppe 4 | Anja Voeske Peter Isaak Christian Mader
Lehrveranstaltung Multimediaprogrammierung
Agenda Motivation und Einordnung Syntaxgerichtete Übersetzung
Unified Modeling Language UML
Software Design Patterns
OO Analyse und Entwurf für Anwender XII. Entwurfsmuster Dr. Michael Löwe.
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Einführung in die Programmierung mit Java
Benutzerdefinierte Tags
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Entwurfsmuster (Design Pattern)
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:
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Mithilfe der Microsoft Excel Datensortierung können z.B. lange und ungeordnete Listen hilfreich aufsteigend oder absteigend sortiert werden.
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
1. Die rekursive Datenstruktur Liste 1
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
 Präsentation transkript:

Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR Gruppe: Christian Pfeffer Carsten Walther Quelle: Gamma, E., Helm, R., Jonson, R., Vlissides, J., Entwurfsmuster, Addison Wesley, Bonn, 1996

Folie 2 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Pattern werden in drei Patternklassen eingeordnet 1.Strukturmuster 2.Verhaltensmuster 3.Erzeugungsmuster Decorator ist Strukturmuster auch bekannt als Wrapper

Folie 3 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Motivation 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Vererbung erweist sich in vielen Fällen als zu unflexibel. Weitaus flexibler ist es, ein einzelnes Objekt mit einer Komponente wie z.B. einem Filter zu verknüpfen. Diese Verknüpfung wird mittels eines Decorator herbeigeführt. Ein Decorator leitet die Anforderungen an eine Komponente weiter und kann zusätzliche Aktionen wie z.B. das herausfiltern von Buchstaben ausführen.

Folie 4 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Motivation 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Mit dem Decorator kann man Objekte (also nicht ganze Klassen) dynamisch (zur Laufzeit) um neue Funktionalitäten erweitern und diese auch wieder entziehen. Objekte können hierbei rekursiv zusammengesetzt werden, um zusätzliche Funktionalitäten zu erlangen. Dieses soll am Beispiel eines Textfilters verdeutlicht werden.

Folie 5 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Beispiel 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Liste von Wörtern soll zur Ausgabe gefiltert werden 1. Wort muß gegebenen Buchstaben enthalten, um in die Ausgabeliste übernommen zu werden 2. Worte können aufsteigend oder absteigend sortiert werden Filter sollen mehrmals aufrufbar sein Reihenfolge der Filter soll veränderbar sein

Folie 6 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Beispiel 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Mögliche Implementierungen 1. statischer Ansatz: Klassenhierarchien erweitern Kombinierbarkeit bei statischem Ansatz nicht möglich Explosion der Zahl der Klassen mangelnde Flexibilität nicht beliebig kombinierbar z.B. keine Schachtelung 2. dynamischer Ansatz: Decorator Funktionalität dynamischer und transparenter hinzufügen Entfernung der Funktionalität wieder möglich Praktikabler als Unterklassenbildung

Folie 7 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Struktur 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster

Folie 8 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Struktur 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster

Folie 9 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Komponenten 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster MainFrame.java - Beispielanwendung zur Visualisierung StringList.java - Interface zur Definition der Zugriffsmethoden SimpleStringList.java - einfache Implementierung des StringList-Interfaces FilteredStringList.java - Implementierung mit Filtermöglichkeit SortedStringList.java - Implementierung mit Sortiermöglichkeit

Folie 10 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Visualisierung 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster

Folie 11 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel Verwandte Muster 1.Einordnung 2.Motivation 3.Beispiel 4.Struktur 5.Komponenten 6.Visualisierung 7.Verwandte Muster Adaptor Composite