For software developers of all experience levels looking to improve their results and design
and implement domain-driven enterprise applications consistently with the best current state of
professional practice Implementing Domain-Driven Design will impart a treasure trove of
knowledge hard won within the DDD and enterprise application architecture communities over the
last couple decades.” -Randy Stafford Architect At-Large Oracle Coherence Product Development
This book is a must-read for anybody looking to put DDD into practice.” -Udi Dahan Founder of
NServiceBus Implementing Domain-Driven Design presents a top-down approach to understanding
domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental
tactical programming tools. Vaughn Vernon couples guided approaches to implementation with
modern architectures highlighting the importance and value of focusing on the business domain
while balancing technical considerations. Building on Eric Evans’ seminal book Domain-Driven
Design the author presents practical DDD techniques through examples from familiar domains.
Each principle is backed up by realistic Java examples-all applicable to C# developers-and all
content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS
system for a multitenant environment. The author takes you far beyond DDD-lite” approaches that
embrace DDD solely as a technical toolset and shows you how to fully leverage DDD’s strategic
design patterns” using Bounded Context Context Maps and the Ubiquitous Language. Using these
techniques and examples you can reduce time to market and improve quality as you build
software that is more flexible more scalable and more tightly aligned to business goals.
Coverage includes Getting started the right way with DDD so you can rapidly gain value from it
Using DDD within diverse architectures including Hexagonal SOA REST CQRS Event-Driven and
Fabric Grid-Based Appropriately designing and applying Entities-and learning when to use Value
Objects instead Mastering DDD’s powerful new Domain Events technique Designing Repositories for
ORM NoSQL and other databases