Klassifizierung |
objektbasiertes Strukturmuster
|
|
klassenbasierter Adapter:
Vererbung anstatt Benutzung
|
| |
Zweck |
Schnittstellenanpassung
Kooperation von Klassen mit inkompatiblen Schnittstellen
|
| |
Alias |
Objekt-Adapter, wrapper
|
| |
Motivation |
Wiederverwendung von Standard-Bibliotheksfunktionen in einem eigenen Umfeld
|
| |
Beispiel |
|
| |
Anwendbarkeit |
|
|
Verwendung einer existierenden Klasse,
deren Schnittstelle nicht der erforderlichen Schnittstelle
entspricht
|
|
Entwicklung einer wiederverwendbaren Klasse,
die mit unabhängigen anderen Klassen zusammenarbeiten soll
|
|
Eine eigene abstrakte Klasse soll mit Hilfe
fremder Klassen mit anderen Schnittstellen implementiert werden
|
| |
Struktur |
Strukturdiagramm
|
| |
Teilnehmer |
|
Ziel |
anwendungsspezifische Schnittstelle
|
Klient |
Anwendung
|
Adapter |
Schnittstellenanpassung
|
AdaptierteKlasse |
existierende Klasse
|
| |
Konsequenzen |
|
|
Entkoppelung von Klassenbibliotheken
|
|
Zusammenarbeit von unabhängigen Klassen
|
|
Funktionalität ist erweiterbar
|
|
flexibler als Klassenadapter
|
| |
Probleme |
|
|
|
|
Performance
|
| |
Beispiele |
Java Beispiel
|
| |
Bekannte Verwendungen |
überall
|
| |
verwandte Muster |
|
|
Trennung von Schnittstelle und Implementierung
--> unabhängige Variation beider Teile
|
| |
|
Objekterweiterung ohne Änderung der Schnittstelle
|
| |
|
Ersatzobjekt, Stellvertreter
|
| |