Java Reference
In-Depth Information
4.6 Das Strukturmuster Fassade
4.6.1 Name/Alternative Namen
Fassade (engl. facade oder auch façade).
4.6.2 Problem
Häufig verwendete Funktionen eines Subsystems sollen über eine gemeinsame (ein-
heitliche) und meist vereinfachte Schnittstelle angesprochen werden. Die Fassade soll
die einzelnen Instanzen des betreffenden Subsystems verbergen und die Funktiona-
lität der Fassade an die Klassen des Subsystems delegieren. Damit soll bei stabiler
Fassade die interne Architektur oder Implementierung geändert werden können. Die
Fassade soll also keine neue Funktionalität definieren, sondern nur wissen, welche
Klassen hinter der Fassade für die Bearbeitung eines Aufrufs durch die Fassade zu-
ständig sind und deren Methoden bei Bedarf aufrufen.
Das Fassade-Muster soll eine meist vereinfachte, einheitliche
Schnittstelle zum Zugriff auf die Klassen eines Subsystems be-
reitstellen.
4.6.3 Lösung
Große Softwaresysteme bestehen meist aus mehreren Subsystemen, die miteinander
interagieren. Eine Zerlegung eines Systems in Subsysteme dient nicht nur der Über-
sichtlichkeit und der besseren Wartbarkeit, sondern kann auch Dritten den Zugriff auf
Funktionen des Systems erleichtern.
Damit sich die Nutzer eines Systems nicht mit den Interna der
Subsysteme des Systems auseinandersetzen müssen, erfolgt der
Zugang zu einem Subsystem beim Fassade-Muster über eine
meist vereinfachte und einheitliche Schnittstelle.
Diese Schnittstelle wird in einer Fassadenklasse bereitgestellt und kapselt ein Sub-
system gegenüber den aufrufenden Kunden (Clients).
Die Fassade wird frei entworfen. Sie verbirgt die Details der inter-
nen Struktur eines Subsystems. Dadurch kann die interne Archi-
tektur eines Subsystems geändert werden, ohne, dass die Kun-
denobjekte abgeändert werden müssen. Aufrufer und Internas
des Subsystems können somit unabhängig voneinander ausge-
tauscht werden.
Search WWH ::




Custom Search