Home

Adapterpatroon

Adapterpatroon is een structureel ontwerppatroon dat de interface van een bestaande klasse omzet naar een interface die een client verwacht. Hierdoor kunnen onderdelen met mismatched interfaces samenwerken zonder dat de onderliggende code gewijzigd hoeft te worden. Het patroon wordt veel toegepast bij het hergebruiken van bestaande code of bij integratie van externe bibliotheken.

De belangrijkste situatie is dat systemen code bevatten met verschillende interfaces die niet compatibel zijn. Wanneer

De kernrollen zijn de Client, de Target-interface, de Adaptee en de Adapter. De Adapter implementeert de Target-

Voordelen van het Adapterpatroon zijn onder meer het vergroten van hergebruik van bestaande code, het voorkomen

aanpassingen
in
de
client
of
in
de
bestaande
klassen
ongewenst
of
onpraktisch
zijn,
kan
een
Adapter
uitkomst
bieden
door
een
wrapper
te
vormen
die
de
gewenste
Target-
interface
implementeert
en
de
oproepen
omzet
naar
de
Adaptee-interface.
interface
en
vertaalt
de
oproepen
naar
de
Adaptee,
eventueel
met
dataconversies
of
API-wijzigingen.
Er
bestaan
twee
varianten:
de
Class
Adapter,
die
gebruikmaakt
van
overerving
om
de
Adaptee
te
laten
implementeren
via
de
Target-interface,
en
de
Object
Adapter,
die
compositie
gebruikt
en
een
Adaptee-object
bevat.
van
ingrijpende
wijzigingen
in
de
client
en
het
verbeteren
van
flexibiliteit
bij
groeiende
systemen.
Nadelen
zijn
onder
meer
extra
indirection,
mogelijke
complexiteit
bij
meerdere
adapters
en
minder
transparantie
bij
debugging.
Het
patroon
is
vooral
geschikt
wanneer
een
bestaand
component
eenvoudig
te
hergebruiken
is
via
een
nieuw
integraal
punt,
of
wanneer
het
niet
mogelijk
is
de
oorspronkelijke
interfaces
te
wijzigen.