Les événements de domaine ne constituent PAS votre API publique

  • par Derek Comartin
  • Publié sur Derek Comartin (CodeOpinion)
  • Sélectionné le
  • Architecture
  • Messaging
Les événements de domaine ne constituent PAS votre API publique - Derek Comartin (CodeOpinion)
Image : Derek Comartin (CodeOpinion)

Vous l'avez enfin fait. Vous avez cessé de publier les événements CRUD et avez commencé à diffuser les événements de domaine.

Au lieu de publier ShipmentStatusChanged , ShipmentUpdated ou EstimatedDeliveryDateChanged , vous avez commencé à publier des événements de domaine plus significatifs comme DeliveryAttemptFailed , ETARecalculated et ShipmentDelayed .

Et apparemment, ça était censé être mieux, n'est-ce pas ?

Faux.

YouTube

N'hésitez pas à consulter ma chaîne YouTube , où je publie toutes sortes de contenus sur l'architecture et la conception de logiciels, y compris cette vidéo qui reprend tous les éléments de cet article.

Vous publiez désormais des événements de domaine plutôt que des événements CRUD. Mais vous subissez toujours les mêmes conséquences lorsque vous devez modifier l'un de ces événements. Vous perturbez le fonctionnement des consommateurs, parfois même ceux dont vous ignoriez l'existence.

C’est parce que les événements de votre domaine sont privés. Ils ne diffèrent en rien de la publication d’événements de modification de données si vous exposez des détails internes que le reste du système ne devrait pas connaître.