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
2
230
Decorator & Fassade (Desing Pattern)
A brief introduction to the decorator and fassade desing pattern (in german).
Thomas Uhrig
June 22, 2012
Tweet
Share
More Decks by Thomas Uhrig
See All by Thomas Uhrig
Event Sourcing
tuhrig
0
6.2k
Porting of an enterprise OSGi application to a PaaS
tuhrig
0
490
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.3k
Java (Micro) Performance Measuring
tuhrig
2
2.9k
Dokumenten Klassifikation mit dem naiven Bayes-Klassifizierer (Python)
tuhrig
1
480
Smalltalk – Geschichte, Idee und Syntax
tuhrig
1
200
XForms & XFormsMM
tuhrig
1
1.5k
Other Decks in Programming
See All in Programming
Hack Claude Code with Claude Code
choplin
7
2.6k
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
260
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
470
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
テスト駆動Kaggle
isax1015
1
620
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
200
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
1.1k
What's new in AppKit on macOS 26
1024jp
0
150
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
99
37k
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
530
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
660
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Six Lessons from altMBA
skipperchong
28
3.9k
Code Review Best Practice
trishagee
69
19k
Navigating Team Friction
lara
187
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Writing Fast Ruby
sferik
628
62k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
RailsConf 2023
tenderlove
30
1.1k
Designing for humans not robots
tammielis
253
25k
How to Ace a Technical Interview
jacobian
278
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
GraphQLとの向き合い方2022年版
quramy
49
14k
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