Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 -LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR."—  Präsentation transkript:

1 Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 -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

2 Folie 2 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 1. 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

3 Folie 3 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 2. 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.

4 Folie 4 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 2. 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.

5 Folie 5 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 3. 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

6 Folie 6 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 3. 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

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

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

9 Folie 9 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel 2000 5. 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

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

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


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

Ähnliche Präsentationen


Google-Anzeigen