midDDD
What is a Domain Event?
Updated Apr 28, 2026
Short answer
Something that happened in the domain that domain experts care about. It is used to trigger side effects across aggregates.
Deep explanation
Mid-level DDD focuses on the interaction between components. Aggregate Roots protect business rules (Invariants). If an Order can't have more than 10 items, the Order Aggregate Root rejects the 'AddItem' call. Domain Events help decouple these systems.
Real-world example
A banking app where a 'Transfer' triggers an 'Email Notification' via a Domain Event.
Common mistakes
- Injecting Repositories into Entities, which couples the model to the persistence layer.
Follow-up questions
- How large should an Aggregate be?