Terug naar begrippenlijst

Adapter pattern

Een adapter zorgt ervoor dat twee onderdelen die niet vanzelf met elkaar praten, dat toch netjes doen. Denk aan een stekker uit Engeland die je in een Nederlands stopcontact wilt steken: zonder adapter lukt dat niet. In software werkt het precies zo. Het adapter pattern maakt van een bestaande interface een nieuwe variant, zodat je componenten kunt hergebruiken zonder alles aan te passen. Voor developers en ontwikkelteams is het een handige oplossing om legacy code te verbinden met moderne systemen, zonder je hele architectuur om te gooien.

Geschreven door Thijn de Haas

Zwaaiende emoji

Thijn Lead developer

Meer over Thijn

Inhoudsopgave

Tussen de regels door vertaald

Een adapter vertaalt de ’taal’ van de ene klasse naar de andere.

Voorbeeld

Je hebt een bestaand betaalsysteem dat werkt met een oude API, maar je nieuwe checkout verwacht een ander formaat. In plaats van beide systemen aan te passen, schrijf je een adapter die het ene formaat omzet in het andere.

Zo blijft de oorspronkelijke logica intact, maar werkt alles wél samen. Dat maakt je systeem flexibeler en voorkomt dat je oude code telkens opnieuw moet aanpassen.

Slim omgaan met oude systemen

Het adapter pattern is vooral handig in grotere codebases waarin je niet alles zomaar kunt herschrijven. Stel je werkt aan een nieuwe module, maar je moet data ophalen uit een oudere database-structuur. In plaats van die oude structuur aan te passen, maak je een adapter die zorgt dat jouw nieuwe code begrijpt wat er staat.

Hierdoor worden je nieuwe onderdelen toekomstbestendig, terwijl je bestaande code gewoon blijft werken.

Minder breekwerk, meer schaalbaarheid

Door het gebruik van adapters kun je systemen uitbreiden zonder het risico dat je per ongeluk iets kapotmaakt. Je houdt verantwoordelijkheden gescheiden, je code wordt beter testbaar en je maakt het eenvoudiger om delen te vervangen als dat later nodig is.

Adapters zijn dus niet alleen praktisch, maar ook een slimme investering in de schaalbaarheid en onderhoudbaarheid van je applicatie.

Veelgestelde vragen

Nee, het is toepasbaar in verschillende programmeerstijlen, maar het komt het meest tot zijn recht in Object-Oriented Programming.

Een facade vereenvoudigt een hele interface, een adapter vertaalt een bestaande interface naar een andere.

Nee, het principe is vrij eenvoudig, vooral als je begrijpt welke structuren je met elkaar wilt laten praten.

Als je volledige controle hebt over beide systemen en ze makkelijk kunt aanpassen, heb je vaak geen adapter nodig.

Thijn de Haas Lead developer

Meer over Thijn

Mijn programmeeravontuur begon rond mijn twaalfde, toen ik ontdekte dat je met code vrijwel alles kunt maken. Ik begon met het bouwen van kleine projecten en startte al snel mijn eigen hostingdienst, wat me veel leerde over maatwerkcode, serverbeheer en het koppelen aan websites. Deze kennis pas ik nu dagelijks toe in mijn werk aan websites en applicaties.

Als student Applicatieontwikkelaar liep ik drie stages bij Wux, waarbij ik tijdens de eerste stage mijn eerste bedrijf startte, deels op advies van Bo. Deze ervaringen vormden het fundament van mijn rol als lead developer en mede-eigenaar van Wux. Met een constante interesse in nieuwe technieken en het meedenken naar de beste oplossingen, zet ik mijn expertise dagelijks in om complexe vraagstukken op te lossen samen met mijn team.

Twee mannen in overleg tijdens het werk achter hun computerschermen
Zwaaiende emoji

Thijn Back-end developer

Op zoek naar slimme software-oplossingen die jouw bedrijf efficiënter maken?

Het team van Wux ontwikkelt maatwerk software die aansluit bij jouw behoeften. Neem vandaag nog contact op en ontdek hoe we jouw bedrijf elke dag succesvoller kunnen maken.

Meer over software