Back
Vaughn Vernon: Implementing Domain-Driven Design (EBook, 2012) 4 stars

Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way …

A lot of words for little meaning and still does not replace Evans' book

2 stars

As a big proponent of DDD, I'm really sorry to have to write this, but reading this book was the polar opposite experience to reading Eric Evans' "Domain-Driven Design".

Unfortunately, this book is bloated, extremely verbose and generally hard to read - in my opinion much harder than Evans' blue book.

It is not a good introduction to DDD, assuming at every step that you've read Evans' book, while at the same time quoting it often. The author seems to have filled the pages with repetitions, quotes and meandering technical explanations to the point where the subject of the chapter is often lost.

It uses some questionable patterns, such as Service Locator, wiring Spring beans using XML or using @Autowired instead of constructor injection, which makes it hard to recommend as a basis for anyone's project. It seems, also, to have skipped some important topics, such as how to deal with discrepancies between the needs of the domain model and the needs of the ORM - I was expecting to see some neat solutions for mapping between domain and infrastructure. Instead, the author just maps queries to the domain model, as if that was always possible.

The book makes some ideas, such as ports and adapters, seem unnecessarily complicated, while others are not explained clearly enough. Having used many of them in my projects, I was still scratching my head when reading about them here.

The example project (SaasOvation), while using a domain most are familiar with, is somehow still hard to understand from a business perspective. Why does a Scrum project need a "Forum"? What, exactly, is a "Discussion" in that context, if it's not part of the "Forum"?

Perspectives vary, of course, but I was shocked at how difficult a read this was, while leaving me not much wiser in the ways of DDD. If you're determined, you may get something out of this (there is knowledge buried here), but I strongly recommend at least reading Evans' work first. If you do decide to give this one a shot, pay attention not to pick up some bad habits along the way.