FH-Hof Adapter & Facade Pattern Richard Göbel
FH-Hof Motivation Gegeben ist eine Klasse mit vorhandenen Methoden Gefordert ist eine Klasse, die ein bestimmtes Interface erfüllt Ansatz Realisiere eine Implementierende Klasse für das Interface welche die Methodenaufrufe an die existierende Klasse weiterleitet
FH-Hof Beispiel Vorgegebene Klasse "Inventargegenstand" mit Methoden für die Attribute Inventarnummer Kaufpreis Gewicht Interface Elektrogerät mit Methoden für Kaufpreis Gewicht Stromverbrauch
FH-Hof Abstrakte Lösung– Object Adapter ClientTarget request() Interface Adapter request() Adaptee method()
FH-Hof Abstrakte Lösung – Class Adapter ClientTarget request() Adapter request() Adaptee method()
FH-Hof Diskussion Vergleich Object und Class Adapter Implementiere das Beispiel für Inventargegenstände und Elektrogeräte Welche Nachteile hat das Adapter Pattern?
FH-Hof Facade Pattern Anwendung des Adapter Pattern für mehrere Klassen Gegeben sind mehrere (Basis-) Klassen Realisiere eine einheitliche Schnittstelle als Fassadenklasse für die Basisklassen Für jede Basisklasse existiert mindestens ein Attribut Eine Methode der Fassadenklasse ruft eine oder mehrere Methoden der Basisklassen auf
FH-Hof Abstrakte Lösung– Object Adapter ClientFacade
FH-Hof Diskussion Schlagen Sie ein Beispiel für den Einsatz des Facade Pattern vor Haben Sie bereits dieses Pattern benutzt? Können Sie die Anwendung dieses Pattern in einem größeren Programm vermeiden?