Implementing Domain-Driven Design
by Vaughn Vernon · Vaughn Vernon
A practical companion to Evans' original, applying domain-driven design to real systems through a running case study. Readers learn to map bounded contexts, design aggregates and domain events, and integrate DDD with architectures such as hexagonal, CQRS and event sourcing.
This link may earn us a small commission at no extra cost to you. Affiliate disclosure
More resources on Domain-Driven Design
dddcommunity.org
DDD Community is a hub for Domain-Driven Design practitioners, offering a curated collection of articles, tutorials, talks, and resources, plus news on events and community discussions to help learn and apply DDD.
InfoQ DDD Mini-book
A free 104-page InfoQ summary of Eric Evans' Domain-Driven Design by Abel Avram and Floyd Marinescu, covering ubiquitous language, model-driven design, refactoring toward deeper insight and preserving model integrity, giving readers the core vocabulary before tackling the full book.
Domain Language
The DDD page of Domain Language, the consultancy founded by Eric Evans, originator of domain-driven design. It hosts the free DDD Reference, a concise summary of the pattern definitions, useful as a lookup companion once the original book's concepts are familiar.
Domain-Driven Design
The 2003 book that defined domain-driven design. It explains how to build software around a shared model of the business domain, using ubiquitous language, entities, value objects, aggregates, repositories and bounded contexts to keep large, complex codebases coherent as requirements change.
Domain-Driven Design Distilled
A short introduction to domain-driven design covering strategic design with bounded contexts, subdomains and context mapping, then tactical design with aggregates and domain events, plus event storming for discovery. Suited to developers and managers who need the essentials before the longer texts.
infoq.com/domain-driven-design
InfoQ's Domain-Driven Design hub gathers articles, tutorials, talks, and case studies that explain DDD concepts (ubiquitous language, bounded contexts) and practical patterns for real-world software architectures.