Domain-Driven Design
A twenty-years-on reading of Eric Evans’s Domain-Driven Design (2003), treating the Blue Book as a source rather than an authority. This is a position, not a neutral catalog: it leads with strategic design, tiers the tactical building blocks, and keeps the event-driven patterns as the field’s addition rather than Evans’s. The reasoning lives in the position essay.
The strategic core (the durable part, and Evans’s own priority): Bounded Context · Ubiquitous Language · Context Mapping · Subdomains and the Core Domain. Where contexts meet, the Anti-Corruption Layer is the boundary defense a context map can name.
The reading lens: every pattern is intent wrapped around mechanism, and the durable core is strategic, not tactical.
The tactical building blocks (intent endures, 2003 mechanisms largely superseded): Entity · Value Object · Aggregate. Entity and Value Object are the tier never walked back, and the value object’s mechanism is the one that improved: languages absorbed it as records and data classes. The Repository and the four-layer architecture are endorsed but superseded in mechanism; Factory survives, mostly renamed; Specification and Smart UI are context-dependent tools Evans himself retired or hedged.
The field’s additions (post-Evans: event sourcing, CQRS, and the workshop are absent from the 2003 book, and the domain event is only barely in it): Domain Event · Event Sourcing · CQRS · Event Storming. Three distinct persistence and messaging patterns plus a workshop format, not a bundle.
The anchor is ubiquitous language: the one concept the audit finds no crack in.
Sources
- Eric Evans, Domain-Driven Design Reference (2015): Evans’s own free summary of the 2003 Blue Book, and where he reweighted the strategic core.
The full receipts live in the position essay.