Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Decorator & Fassade (Desing Pattern)

Decorator & Fassade (Desing Pattern)

A brief introduction to the decorator and fassade desing pattern (in german).

Thomas Uhrig

June 22, 2012
Tweet

More Decks by Thomas Uhrig

Other Decks in Programming

Transcript

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

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

    Zweck dynamisches Hinzufügen von Funktionalität die Komponente ändert sich nicht „Erweiterbarkeit“ zur Laufzeit
  3. . 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();
  4. : 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
  5. : Thomas Uhrig & Design Patterns – Decorator Fassade .

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

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

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

    Zweck kapseln von komplexen Subsystemen zentraler und einfacher Zugriff Clients müssen das Subsystem nicht kennen
  9. . Lösung Client 1 : Thomas Uhrig & Design Patterns

    – Decorator Fassade Client 2 Fassade Komplexes Subsystem
  10. : Thomas Uhrig & Design Patterns – Decorator Fassade .

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

    Nachteile Clients dürfen die Fassade nicht umgehen Fassade muss bei Änderungen angepasst werden ( ) erhöhter Aufwand Indirektionsstufe
  12. : 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
  13. : Thomas Uhrig & Design Patterns – Decorator Fassade .

    Quellen & : Starke Eilebrecht . 2010. Patterns kompakt Spektruk Verlag : Wikipedia :// . . / / http de wikipedia org wiki Viererbande
  14. 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