Slide 1

Slide 1 text

Decorator & Fassade : Thomas Uhrig & Design Patterns – Decorator Fassade

Slide 2

Slide 2 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Dekorator Strukturmuster der GoF flexible Bildung von Unterklassen

Slide 3

Slide 3 text

Decorator

Slide 4

Slide 4 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Zweck dynamisches Hinzufügen von Funktionalität die Komponente ändert sich nicht „Erweiterbarkeit“ zur Laufzeit

Slide 5

Slide 5 text

. Lösung << Interface >> Komponente Konkrete Komponente Dekorierer Konkreter Dekorierer1 Konkreter Dekorierer2 com:Komponente op() op() : Thomas Uhrig & Design Patterns – Decorator Fassade op() op2() op() ... com.op(); super.op(); op2();

Slide 6

Slide 6 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Vorteile Komposition statt Vererbung ( ) zur Laufzeit möglich „Zusammenstecken“ Funktionalität ist leicht „entfernbar“ transparent für den Client

Slide 7

Slide 7 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Nachteile , jede neue Funktionalität ein neuer Dekorator ( ) viele ähnliche Klassen Übersichtlichkeit unklare Objektidentität

Slide 8

Slide 8 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . & Varianten Verweise ( ) / & Decorating Filter Pipes Filter ( ) Strategy kapselt eine Funktion in einer Klasse Filter A Filter B Klasse

Slide 9

Slide 9 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Fassade Strukturmuster der GoF Schnittstelle zu Subsystemen

Slide 10

Slide 10 text

Fassade

Slide 11

Slide 11 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Zweck kapseln von komplexen Subsystemen zentraler und einfacher Zugriff Clients müssen das Subsystem nicht kennen

Slide 12

Slide 12 text

. Lösung Client 1 : Thomas Uhrig & Design Patterns – Decorator Fassade Client 2 Fassade Komplexes Subsystem

Slide 13

Slide 13 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Vorteile ( ) entkoppelt Clients vom Subsystem Kapselung zentraler Zugriff lose Kopplung

Slide 14

Slide 14 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Nachteile Clients dürfen die Fassade nicht umgehen Fassade muss bei Änderungen angepasst werden ( ) erhöhter Aufwand Indirektionsstufe

Slide 15

Slide 15 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . & Varianten Verweise ( ) Adapter kapselt den Zugriff auf nur eine Klasse ( ) Proxy Stellvertreter für eine Klasse - ( ) Message Fassade zeitliche Entkoppelung

Slide 16

Slide 16 text

: Thomas Uhrig & Design Patterns – Decorator Fassade . Quellen & : Starke Eilebrecht . 2010. Patterns kompakt Spektruk Verlag : Wikipedia :// . . / / http de wikipedia org wiki Viererbande

Slide 17

Slide 17 text

Decorator # : Klassifikation Strukturmuster # : Zweck dynamisch zusätzliche Funktionalität # / Szenario : Motivation , Funktionen ändern ohne Klassen zu ändern # / : Lösung Struktur Komposition von Klassen mit gleichem Interface # ( - & ): Konsequenzen Vor Nachteile ; Verkettung viele ähnliche Klassen # & : Varianten Verweise ; Filter Strategy : Thomas Uhrig & Design Patterns – Decorator Fassade Fassade # : Klassifikation Strukturmuster # : Zweck Kapselung komplexer Subsysteme # / Szenario : Motivation . lose und einfache Kopplung zw Client und System # / : Lösung Struktur zentraler Zugang # ( - & ): Konsequenzen Vor Nachteile ; darf nicht umgangen werden Indirektionsstufe # & : Varianten Verweise ; ; Adapter Proxy