Java Reference
In-Depth Information
4.3 Das Strukturmuster Adapter
4.3.1 Name/Alternative Namen
Adapter (engl. adapter).
4.3.2 Problem
Eine Klasse soll wiederverwendet werden. Die wiederzuverwendende Klasse bietet
zwar die richtigen Daten an, hat aber eine unpassende Schnittstelle 44 für den Zugriff
eines Clients auf diese Daten.
Das Adapter-Muster hat zum Ziel, eine vorhandene "falsche"
Schnittstelle einer bereits vorhandenen Klasse an die vom Client
gewünschte Form anzupassen.
Das Adapter-Muster wird in diesem Buch auf der Ebene von Klassen behandelt. Es
kann aber auch auf der Ebene von Komponenten bzw. Subsystemen angewendet wer-
den.
4.3.3 Lösung
Liegt bereits eine Klasse lauffähig vor, die den Anforderungen an die gesuchten Daten
entspricht, aber allerdings eine inkompatible Schnittstelle für ihre Nutzer besitzt, wird
man versuchen, auf dieser Klasse aufzusetzen und sie nicht neu zu entwickeln.
Das Adapter-Muster ist ein Entwurfsmuster, das dieses Anpassungsproblem behan-
delt. Der Adapter setzt auf der vorhandenen Klasse auf, verwendet sie weiter, ergänzt
sie aber um ein "Übersetzungsprogramm" für die Methoden. Der Adapter bietet die ge-
suchten Methoden also nach außen an und ruft bei der vorhandenen Klasse aber
deren Methoden auf. Das Adapter-Muster wird oft angewandt, wenn Klassen von
Dritten, die nicht geändert werden sollen bzw. können - wie die Klassen einer Klas-
senbibliothek -, an eine Schnittstelle angepasst werden sollen.
Somit kann die vorhandene Klasse ohne eine Änderung weiter genutzt werden. Der
Adapter wird einfach als Zusatzschicht eingezogen. Die Funktionalität des Adapters
kann sich dabei von der Anpassung der Methodennamen bis hin zu komplexen Kon-
vertierungen und Vereinfachungen erstrecken.
4.3.3.1 Klassendiagramm
Im Fall des Adapter-Musters gibt es zwei Möglichkeiten, um einen Adapter aufzu-
bauen:
44 Als Beispiel aus dem täglichen Leben sei ein Adapter genannt, mit dem man einen deutschen Ra-
sierapparat an eine amerikanische Steckdose anpasst. Um den Rasierapparat auch bei einer an-
dersartigen Steckdose wiederverwenden zu können, bedarf es eines Adapters.
Search WWH ::




Custom Search