Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Decorator & Fassade (Desing Pattern)
Search
Thomas Uhrig
June 22, 2012
Programming
280
2
Share
Decorator & Fassade (Desing Pattern)
A brief introduction to the decorator and fassade desing pattern (in german).
Thomas Uhrig
June 22, 2012
More Decks by Thomas Uhrig
See All by Thomas Uhrig
Event Sourcing
tuhrig
0
6.3k
Porting of an enterprise OSGi application to a PaaS
tuhrig
0
510
TechTrends - searching trends on HN and Reddit
tuhrig
0
2.6k
Image optimization for websites
tuhrig
6
1k
Siedler von Catan in UML
tuhrig
1
4.5k
Java (Micro) Performance Measuring
tuhrig
2
3k
Dokumenten Klassifikation mit dem naiven Bayes-Klassifizierer (Python)
tuhrig
1
530
Smalltalk – Geschichte, Idee und Syntax
tuhrig
1
270
XForms & XFormsMM
tuhrig
1
1.6k
Other Decks in Programming
See All in Programming
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
140
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
110
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
140
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
810
実用!Hono RPC2026
yodaka
2
220
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
[RubyKaigi 2026] Require Hooks
palkan
1
200
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
170
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
160
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
770
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
330
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
Visualization
eitanlees
150
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Claude Code のすすめ
schroneko
67
220k
Marketing to machines
jonoalderson
1
5.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
Building Applications with DynamoDB
mza
96
7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
It's Worth the Effort
3n
188
29k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Transcript
Decorator & Fassade : Thomas Uhrig & Design Patterns –
Decorator Fassade
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Dekorator Strukturmuster der GoF flexible Bildung von Unterklassen
Decorator
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Zweck dynamisches Hinzufügen von Funktionalität die Komponente ändert sich nicht „Erweiterbarkeit“ zur Laufzeit
. 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();
: 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
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Nachteile , jede neue Funktionalität ein neuer Dekorator ( ) viele ähnliche Klassen Übersichtlichkeit unklare Objektidentität
: Thomas Uhrig & Design Patterns – Decorator Fassade .
& Varianten Verweise ( ) / & Decorating Filter Pipes Filter ( ) Strategy kapselt eine Funktion in einer Klasse Filter A Filter B Klasse
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Fassade Strukturmuster der GoF Schnittstelle zu Subsystemen
Fassade
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Zweck kapseln von komplexen Subsystemen zentraler und einfacher Zugriff Clients müssen das Subsystem nicht kennen
. Lösung Client 1 : Thomas Uhrig & Design Patterns
– Decorator Fassade Client 2 Fassade Komplexes Subsystem
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Vorteile ( ) entkoppelt Clients vom Subsystem Kapselung zentraler Zugriff lose Kopplung
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Nachteile Clients dürfen die Fassade nicht umgehen Fassade muss bei Änderungen angepasst werden ( ) erhöhter Aufwand Indirektionsstufe
: 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
: Thomas Uhrig & Design Patterns – Decorator Fassade .
Quellen & : Starke Eilebrecht . 2010. Patterns kompakt Spektruk Verlag : Wikipedia :// . . / / http de wikipedia org wiki Viererbande
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