Learning Path
Domain-Driven Design
Learn to model complex domains with precision. Covers strategic design, aggregates, value objects, CQRS, event sourcing, and the repository pattern.
6 articles
- 1.
Domain-Driven Design: Strategic Patterns
Bounded contexts, ubiquitous language, and context maps — the high-level tools for taming large domains.
- 2.
Domain-Driven Design: Aggregates & Invariants
What aggregates are, how to draw their boundaries, and why external code should only talk to the root.
- 3.
Value Objects in Domain-Driven Design
Objects defined by their attributes rather than identity — and why immutability makes them safe to share.
- 4.
CQRS: Command Query Responsibility Segregation
Separating the write model from the read model to let each evolve independently and scale differently.
- 5.
Event Sourcing: Storing State as a Sequence of Events
Instead of persisting current state, store every change as an immutable event and derive state by replaying the log.
- 6.
The Repository Pattern
Mediate between the domain model and the data mapping layer using a collection-like interface for accessing domain objects.