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).

Avatar for Thomas Uhrig

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