Implementing Domain-Driven Design

by Vaughn Vernon

In “Implementing Domain-Driven Design,” Vaughn Vernon takes the reader on a journey with a fictional development team putting a software project into practice using Domain-Driven Design. In addition to strategic design (domains, subdomains, bounded contexts, context maps) and tactical design (entities, value objects, services, modules, aggregates, factories, repositories), he also explores software architectures that combine well with Domain-Driven Design (such as hexagonal architecture, CQRS, event-driven architecture, event sourcing).

Just like in real life, the developers make mistakes and learn from them. This helps the reader understand on many occasions why the initial extra effort of Domain-Driven Design pays off in the long run.

The book is a great complement to Evans’ classic, “Domain-Driven Design,” and has particularly helped me understand the relationship between bounded contexts, core domain, supporting subdomains, and generic subdomains. (It’s important to mention that you don’t need to have read Evans’ book as all concepts are explained from scratch in this book as well.)

The principles are explained through practical, detailed, and easily understandable examples implemented in Java (and partly Spring). I regularly use this book (along with “Get Your Hands Dirty on Clean Architecture”) as a reference.

Just like with Evans’ classic, you should dedicate sufficient time to study the book thoroughly. I recommend it to anyone who wants to apply Domain-Driven Design in practice successfully.

🎧 Suitable as an audiobook: No.

Other Recommendations From This Books’s Genres

* Disclosure: We love sharing our favorite books with you! As an Amazon Associate, we earn a small commission from purchases you make through our links, which helps us continue creating content you enjoy.