advanced~3h
The Aggregate Pattern from Domain-Driven Design
Axon's @AggregateIdentifier and @CommandHandler only make sense once you understand what they're annotating a boundary around. This module is the Domain-Driven Design concept underneath them: the aggregate as the single unit of consistency every command must go through.
Learning objectives
- Define an aggregate root and explain why it is the one true consistency boundary for a write operation
- Distinguish an aggregate from a plain entity or DTO by its responsibility for enforcing invariants
- Design an aggregate's boundary correctly — neither too large (lock contention) nor too small (broken invariants)
- Implement a full Order aggregate in Axon using @AggregateIdentifier, @CommandHandler, and @EventSourcingHandler
- Explain why an aggregate only ever loads and rebuilds itself from its OWN event stream, never another aggregate's
This is a Pro chapter
Sign in, then upgrade to Pro or Power to unlock this and the full Spring Ecosystem Mastery library.
The Aggregate Pattern from Domain-Driven Design