De Chain of Responsibility (CoR) is een gedragsontwerppatroon waarmee een object een verzoek langs een keten van objecten kan doorgeven totdat een van de objecten het verzoek kan afhandelen. Het wordt vaak gebruikt in systemen waar er veel potentiële verzoekbehandelaars zijn en het type verzoek of de parameters moeten bepalen welk object het kan afhandelen.
In dit patroon bevat elk object in de keten een verwijzing naar het volgende object, waardoor een gekoppelde lijst van potentiële handlers wordt gevormd. Wanneer een verzoek wordt gedaan, wordt het door de keten doorgegeven totdat een handler is gevonden die het kan verwerken. Zodra het verzoek is verwerkt, wordt het antwoord weer hoger in de keten doorgegeven aan de oorspronkelijke aanvrager. Als geen van de objecten het verzoek kan afhandelen, kan het worden verwijderd of kan er een fout worden geretourneerd.
Voordelen van het gebruik van het CvdR-patroon zijn onder meer flexibiliteit bij het toevoegen, verwijderen of wijzigen van handlers zonder de rest van het systeem te beïnvloeden, verbeterde ontkoppeling tussen de aanvrager en de handler, en eenvoudiger onderhoud en testen.
Publicatie datum: