• Keine Ergebnisse gefunden

Beschreibung II

N/A
N/A
Protected

Academic year: 2022

Aktie "Beschreibung II"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Adapter Pattern

(2)

Hochschule Konstanz

Beschreibung I

• Klassifikation: klassen- oder objektbasiertes Strukturmuster.

• Zweck: Schnittstelle einer Klasse an eine andere von ihren Klienten erwartete Schnittstelle anpassen (Zusammenarbeit trotz inkompatibler Schnittstellen).

2009, Daniel Maier, Design Patterns and Refactoring, HTWG Konstanz

2

• Auch bekannt als: Wrapper.

• Anwendungsbeispiel: Klassenbibliothek bietet Klasse deren Schnittstelle nicht der von der Anwendung verlangten entspricht.

(3)

Hochschule Konstanz

Beschreibung II

• Struktur:

Objektbasiert

Klassenbasiert

(4)

Hochschule Konstanz

Beschreibung III

• Teilnehmer:

– Ziel: vom Client verwendete Schnittstelle.

– Client: verwendet Objekte mit Zielschnittstelle.

– DasAdaptierte: definiert anzupassende Schnittstelle.

– Adapter: passt Schnittstelle der unpassenden Klasse an Zielschnittstelle an.

2009, Daniel Maier, Design Patterns and Refactoring, HTWG Konstanz

4

Zielschnittstelle an.

• Interaktionen: Clients rufen Operationen auf Adapterobjekten auf.

Der Adapter delegiert den Aufruf an die Adaptierte Klasse und implementiert ggf. fehlende Methoden komplett neu.

(5)

Hochschule Konstanz

Beschreibung IV

• Konsequenzen: Klassen- vs. Objekt-Adapter – Klassen-Adapter nur mit Mehrfachvererbung möglich.

– Klassen-Adapter kann, dank Vererbung, Verhalten des Adaptierten überschreiben und muss nicht alle Methoden neu implementieren.

überschreiben und muss nicht alle Methoden neu implementieren.

– Objekt-Adapter verwendet Komposition, das Adaptierte kann also durch Unterklassen dessen (auch zur Laufzeit) ausgetauscht

werden und kann diesen auf einen Schlag neue Funktionalität

(6)

Hochschule Konstanz

Implementierung (objektbasiert)

public class Client { public interface Ziel {

public void anfrage();

} public class DasAdaptierte {

public void bestimmteAnfrage() { System.out.println("Führe

Anfrage durch");

} }

public class Adapter implements

2009, Daniel Maier, Design Patterns and Refactoring, HTWG Konstanz

6

public class Client {

public static void main(String[] args) { Ziel adapter = new Adapter();

adapter.anfrage();

} } public class Adapter implements

Ziel {

private DasAdaptierte orginal = new DasAdaptierte();

public void anfrage() {

orginal.bestimmteAnfrage();

} }

(7)

Hochschule Konstanz

Abgrenzung

• Dekorierer: erweitert Objekt ohne Schnittstelle zu ändern.

• Proxy: definiert Stellvertreter für anderes Objekt, verändert aber nicht seine Schnittstelle.

• Brücke: dient anderem Zweck: Schnittstelle von ihrer

• Brücke: dient anderem Zweck: Schnittstelle von ihrer

Implementierung trennen. Adapter ändert Schnittstelle eines existierenden Objekts.

(8)

Hochschule Konstanz

Literatur

2009, Daniel Maier, Design Patterns and Refactoring, HTWG Konstanz

8

Referenzen

ÄHNLICHE DOKUMENTE

Den Strom zum Betrieb stammt aus einem Akku, der im Boden der Minibar untergebracht ist, eine Stromladung reicht für 50 bis 60 Kaffees.. Etwa soviel Kaffees, wie an einem müden

Diese Methode eignet sich offensichtlich nicht für die Isolierung von zirkulierenden endothelialen Zellen aus Vollblut von Patienten... III.3 Weitere Optionen zum

paintInside überschreiben, super.paintInside nicht aufrufen class ImageButton extends Button { ... void paintInside () {

• Bei super Suche von unten nach oben Keine java -Methoden vorhanden:. • Wie

Wenn in einer "Klasse" KEINE Methode implementiert ist, wird sie als interface "Schnittstelle" bezeichnet. public interface

Während sich das augenfällige, anti-mythische und anti-essenzialistische Design des Romans The Picture of Dorian Gray durch seine markanten Rückbezüge zum Faust- und

Schreiben Sie ein Java-Programm, das eine beliebige Anzahl von double –Werten einliest und so in ein Feld abspeichert, dass gleiche Werte hintereinander angeordnet sind und

Die Zeichnungen von Valerian Lopatto entstanden erst sechzig Jahre danach zwischen 2001 und 2007, während Anatolij Pilipenko sein Tagebuch bereits im Frühjahr 1945, nach