Java Reference
In-Depth Information
Beim Brücke-Muster können sich die Abstraktion und die Imple-
mentierung unter Einhaltung der von der Abstraktion vorgegebe-
nen Schnittstelle für den Implementierer unabhängig voneinander
verändern.
Die Verwendung des Brücke-Musters ermöglicht es, die Implementierung vor dem
Client zu verstecken. Aus der Sicht des Clients ist das Interface
IImplementierer
vollständig verborgen, lediglich die Klasse
Abstraktion
bzw.
SpezAbstraktion
ist
dem Client bekannt. Die Methoden einer Abstraktion sind unabhängig von einer kon-
kreten Implementierung. Bleibt beispielsweise die Abstraktionsschnittstelle dieselbe
und wird nur die Implementierung grundlegend verändert, so sind keine Änderungen
am Client erforderlich.
Ein konkreter Implementierer ist vollständig vor dem Aufrufer
(Client) versteckt. Die Abstraktion ist nur von der Schnittstelle des
Implementierers, die die Abstraktion selbst vorgibt, aber nicht von
der konkreten Implementierung abhängig.
4.4.3.1 Klassendiagramm
Der Implementierer wurde in dem folgenden Beispiel als Interface realisiert. Der Imple-
mentierer kann aber auch als abstrakte Klasse oder als normale Klasse realisiert wer-
den. Das Muster gibt hierzu keine Vorgabe. Ebenso kann anstelle der Klasse
Ab-
straktion
eine abstrakte Klasse verwendet werden. Das folgende Bild zeigt das
Klassendiagramm des Brücke-Musters:
Client2
Client1
«use»
«use»
«interface»
IImplementierer
Abstraktion
operationImpl()
operation()
SpezAbstraktion
KonkreterImplementierer
operation()
spezabstraktionsMethode()
operationImpl()
Bild 4-4 Klassendiagramm der Brücke mit dem Implementierer als Interface
Search WWH ::
Custom Search