Java Reference
In-Depth Information
Die Funktionalität eines Adapters wird aber in den zusätzlichen Methoden zur Verfü-
gung gestellt, die das Interface IZiel realisieren, hier in der Methode opera-
tionA() .
Variante 2: Objekt-Adapter (Adapter mit Delegation)
Auch in dieser Variante stellt das Interface vom Typ IZiel die von der Client-Anwen-
dung vorgegebene Aufrufschnittstelle dar. Die zu adaptierende Klasse wird mittels
Aggregation dem Adapter bekannt gemacht.
Die Adapter-Klasse implementiert die Aufrufschnittstelle IZiel
und delegiert den Aufruf an das aggregierte Objekt der zu adap-
tierenden Klasse weiter.
Wird die Operation operationA() beim Adapter (siehe Bild 4-2) aufgerufen, dann
ruft diese wiederum in diesem Beispiel bei dem aggregierten Objekt der zu adaptieren-
den Klasse über die Referenz ref die Operation operationB() auf. Das Klassen-
diagramm des objektbasierten Adapter-Musters in Bild 4-2 veranschaulicht, wie der
Aufruf einer Operation durch den Client an eine Operation mit anderem Namen weiter-
gereicht wird:
«use»
«interface»
IZiel
Client
operationA()
Adapter
ZuAdaptierendeKlasse
ruft auf:
ref.operationB()
operationA()
operationB()
Bild 4-2 Klassendiagramm Objekt-Adapter
Die Adapter-Klasse in dieser Variante ist "schlanker" als die Adapter-Klasse in der
Variante mit Vererbung, da sie nur die geforderte Schnittstelle implementiert und kei-
nen geerbten "Ballast" in sich trägt.
Die weitere Beschreibung des Adapter-Musters basiert auf der in Bild 4-2 gezeigten
Variante 2.
4.3.3.2 Teilnehmer
Im Folgenden werden die Teilnehmer am Adapter-Muster aufgeführt:
Search WWH ::




Custom Search