Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/06868.jsonl.gz/140

En génie logiciel, le patron de conception chaîne de responsabilité permet à un nombre quelconque de classes d'essayer de répondre à une requête sans connaître les possibilités des autres classes sur cette requête. Cela permet de diminuer le couplage entre objets. Le seul lien commun entre ces objets étant cette requête qui passe d'un objet à l'autre jusqu'à ce que l'un des objets puisse répondre. Ce patron de conception permet aussi de séparer les différentes étapes d'un traitement et d'implémenter facilement les relations d'héritage.
Utilisation
Dès lors qu'une information doit recevoir plusieurs traitements, ou juste être transmise entre différents objets.
Exemple en langage C++
L'exemple ci-dessous présente un système de log. Lors de la réception d'un message, ce dernier va passer d'un logger à l'autre, déclenchant ou non le traitement associé.
#include
#include
using namespace std;
class Logger
{
protected:
int level;
Logger* ne