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
290
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
520
TechTrends - searching trends on HN and Reddit
tuhrig
0
2.6k
Image optimization for websites
tuhrig
6
1.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
550
Smalltalk – Geschichte, Idee und Syntax
tuhrig
1
290
XForms & XFormsMM
tuhrig
1
1.6k
Other Decks in Programming
See All in Programming
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
720
Building an Out-of-Order CPU
latte72
0
640
Flow は今どうなっているか
mizdra
PRO
0
900
Deep dive into the select statement (GopherCon UK)
jespino
0
170
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
120
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
110
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.7k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
A Tale of Four Properties
chriscoyier
163
24k
30 Presentation Tips
portentint
PRO
1
390
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Crafting Experiences
bethany
1
280
Making the Leap to Tech Lead
cromwellryan
135
10k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Are puppies a ranking factor?
jonoalderson
2
3.9k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
490
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