Java Reference
In-Depth Information
x Ein Subsystem und eine darauf zugreifende Client-Klasse sind lose gekoppelt. Da-
durch wird eine Änderung oder ein Austausch eines Subsystems erleichtert. Man
muss in diesem Fall nur die zugeordnete Fassade anpassen, nicht jedoch die
Clients, die diese Fassade benutzen.
x Die Fassade dient oft zur objektorientierten Einhüllung von Legacy-Systemen 46 .
Ein nicht objektorientiertes System kann dadurch plötzlich objektorientiert wirken.
Die Fassade kapselt die Klassen/Objekte eines Subsystems bzw. eines Legacy-
Systems. Ein Direktzugriff darf bei einem Legacy-System nicht erlaubt werden,
wenn es durch die Fassade gekapselt und objektorientiert erscheinen soll.
4.6.4.2 Nachteile
Die folgenden Nachteile werden gesehen:
x Man führt einen zusätzlichen Methodenaufruf ein. Bei einem einfachen Subsystem
schafft man dadurch zusätzlichen Ballast.
x Meist wird eine Funktionalität einer Subklasse durch die Fassade eingeschränkt.
x Wenn sich die Schnittstellen der gekapselten Komponenten oft ändern, muss die
Fassade eventuell ebenfalls häufig geändert werden.
x Das Fassade-Muster bietet eine einfache Schnittstelle zum Zugriff auf ein Subsys-
tem, es lässt aber offen, ob direkte Zugriffe auf die Klassen des Subsystems weiter-
hin möglich sind. Dies muss im Einzelfall entschieden werden. Der direkte Zugriff ist
unter Umständen performanter und bietet die gesamte, aber auch komplexere
Funktionalität des Subsystems. Solange der Direktzugriff erlaubt ist, kann man im
Subsystem nicht die Vorteile des Information Hiding nutzen.
4.6.5 Einsatzgebiete
Das Fassade-Muster ist generell bei Subsystemen anwendbar, wenn die Schnittstelle
frei entworfen werden kann. Das Muster kann eingesetzt werden, um die Komplexität
eines Subsystems zu verbergen. Außerdem kann es zur Kapselung eines Legacy-Sys-
tems verwendet werden.
Von einer höheren Ebene aus betrachtet, kann eine Fassade auch mehrere Subsys-
teme kapseln.
Bei einem Schichtenmodell (siehe Architekturmuster Layers ) kann eine neue Schicht
mit Hilfe des Fassade-Musters eingeführt werden.
4.6.6 Ähnliche Entwurfsmuster
Sowohl das Fassade-Muster als auch das Adapter -Muster kapseln vorhandene Pro-
gramme. Fassade und Adapter sind Wrapper. Im Gegensatz zur Fassadenschnittstel-
le, die von einem Subsystem definiert wird, wird die Adapterschnittstelle vom Client
46 Ein Legacy-System ist in der Informatik ein historisch gewachsenes System, oft in einer veralteten
Technologie. Es stellt deshalb sozusagen oftmals eine "Altlast" dar.
Search WWH ::




Custom Search