← Graph

Aggregates Should Not Emit Events

takeaway 2 connections

Scott and Nathan's recurring position: aggregate was never intended to be a software/code pattern. Turning aggregate-root into a class that emits events makes it easy for beginners to start typing, but entangles entity, handler, and projection responsibilities. The term 'aggregate' itself predates DDD (it appears in the UML 1997 discussions as white-diamond aggregation vs. black-diamond composition) and 'partition' is a better, more informative word for the same idea. The underlying essence — invariants and what the object must vs. need not know — is fine.

type
warning
takeaway Aggregates Should Not Emit Events
about
Aggregate Root concept
Critique of aggregate root used as an event-emitting code pattern.
takeaway Aggregates Should Not Emit Events
from_talk
Scott and Nathan's position repeated from their 2018 Explore DDD talk and expanded on the panel.

Provenance

Read by
2 extractions