homeSoftwaredesign Softwaredesign: Adapter Prof. Dr. Uwe Schmidt FH Wedel

Adapter

weiter

weiter

Adapter

Klassifizierung
objektbasiertes Strukturmuster
 
klassenbasierter Adapter:
Vererbung anstatt Benutzung
weiter
Zweck
Schnittstellenanpassung
Kooperation von Klassen mit inkompatiblen Schnittstellen
weiter
Alias
Objekt-Adapter, wrapper
weiter
Motivation
Wiederverwendung von Standard-Bibliotheksfunktionen in einem eigenen Umfeld
weiter
Beispiel
weiter
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
weiter
Struktur
Strukturdiagramm
weiter
Teilnehmer
  Ziel
anwendungsspezifische Schnittstelle
  Klient
Anwendung
  Adapter
Schnittstellenanpassung
  AdaptierteKlasse
existierende Klasse
weiter
Konsequenzen
Entkoppelung von Klassenbibliotheken
Zusammenarbeit von unabhängigen Klassen
Funktionalität ist erweiterbar
flexibler als Klassenadapter
weiter
Probleme
bei Containerklassen: Anpassung in beide Richtungen nötig
Performance
weiter
Beispiele
Java Beispiel
weiter
Bekannte Verwendungen
überall
weiter
verwandte Muster
Trennung von Schnittstelle und Implementierung
--> unabhängige Variation beider Teile
weiter
Objekterweiterung ohne Änderung der Schnittstelle
weiter
Ersatzobjekt, Stellvertreter
weiter

Letzte Änderung: 13.04.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel