Lecture overview -- Keyboard shortcut: 'u'  Previous page: Observer (3) -- Keyboard shortcut: 'p'  Next page: Klasse Adapter (2) -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Page 29 : 31
Forelæsningsnoter i Objekt-orienteret Programmering
Designmønstre
Object Adapter (1)

Adapter er et nyttigt pattern, som tilpasser grænsefladen af en klasse C til bestemte krav eller forventninger, til en klient. I stedet for at lave klassen om kan vi indskyde et mellemled, som tilpasser C. Vi ser her på en variant af Adapter, som kaldes Object Adapter

Vi har en klasse med brugbar funktionalitet, men med en ikke-brugbar grænseflade

Adapter tilpasser grænsefladen af en klasse til bestemte forventninger af en klient

Et klassediagram for Adapter, hvor et Adapter objekt tilpasses via en associering til en Adaptee objekt

  • Konsekvenser

    • Tillader os at bruge et objekt i en kontekst, hvor det rent interfacemæssigt ikke fitter

    • Om nødvendigt kan Adapter klasse tilføje (udvides med) ny funktionalitet i forhold til Adaptee klassen

    • En Adapter kan tilpasse grænsefladen af et helt Adaptee klassehierarki

I forbindelse med, at en Adapter kan tilpasse et helt Adaptee klassehierarki forestiller vi os altså, at Adaptee klassen har en række subklasser. Den ene Adapter, som er organiseret som ovenfor, tilpasser dem alle