UC-05 · Les handlers ne dépendent pas les uns des autres
Signal
- Un command handler qui injecte ou appelle un autre command handler.
- Un event handler qui en appelle directement un autre, au lieu de passer par un event.
Pourquoi
Quel que soit leur style, les handlers restent découplés : chacun peut changer sans toucher aux autres. Dans un enchaînement d’étapes (pipes and filters), chaque étape est un composant à part. Les étapes sont indépendantes, et reliées par la configuration.
Exceptions
Aucune.
Correction
Extraire le code commun dans le domaine ou dans un domain service, ou enchaîner par des events.
Voir aussi
Un handler qui en appelle un autre finit souvent par modifier deux aggregates dans la même transaction (AGG-06). PLC-08 place la réaction à un event dans un consumer de driving, qui appelle son propre use case.