DEV Community

Cover image for 📕 Implementing Domain-Driven Design Review
CodeCraftr
CodeCraftr

Posted on • Originally published at codecraftr.nl on

1

📕 Implementing Domain-Driven Design Review

Implementing Domain-Driven Design aka The Red Book. I held high expectations for this title, did it deliver? Find out in this review.

📜 About The Red Book

Implementing Domain-Driven Design by Vaughn Vernon, dubbed The Red Book by the Domain-Driven Design (DDD) community, often recommended as a valuable companion to the original blue book.

After reading it myself I agree. It has been a great help to solidify my knowledge about DDD, but more on that later.

First thing you’ll notice: this book is hefty. Coming in at 538 pages (excluding a lengthy appendix), reading and grasping Implementing DDD will take a while.

The book is composed of 14 chapters, arranged sensibly as follows:

  • Introduction to DDD
  • Strategic Patterns
  • Architecture
  • Tactical Patterns
  • Application Concerns

But what sets it apart from The Blue Book?

📘 Differences With The Blue Book

Although it touches on the same concepts from the original book, contrary to it, The Red Book introduces Strategic Patterns before the Tactical Patterns. It also delves into the concept of Domain Events, which weren’t covered in The Blue Book.

Throughout the book, the reader follows a fictional case study, complete with supporting code samples. This helps make the abstract ideas concrete, hence the “Implementing” part of the title.

How does it all add up? Is it a valuable book to add to your collection? Let’s find out.

⚖️ A Great Book, But…

All things considered, I do think this book should be on your bookshelf, but it is not without its flaws.

Aspects of the book I liked were:

  • Case study & code samples help you thoroughly understand DDD concepts.
  • Domain events & event sourcing are covered extensively. These architectural styles are great to have in your “toolbox” and were not covered in The Blue Book.
  • Strategic over tactical patterns. This book does a good job of prioritizing the two and emphasizes how DDD’s effectiveness is crippled without properly applying both.

Things I disliked about it were:

  • Fluff caused by the author taking his time to get to the point, as well as examples requiring a lot of explanation, distracting from the main point.
  • Code samples age , and some examples feel outdated due to obsolete technology.
  • Concepts (mostly) identical to The Blue Book. If you read both there will be a lot of repetition.

Implementing Domain-Driven Design is a valuable book then, but who can benefit from it most?

🙋 Should You Read It?

You should read Implementing Domain-Driven Design if:

  • You’re new to DDD, or
  • The concepts did not sink in after reading the Blue Book.

Is this you? Look no further, Implementing Domain-Driven Design will deliver. This title is more approachable than the Domain-Driven Design book, working hard to explain the concepts in a simple, and concrete way.

The adept DDD practitioner can safely skip this title, except if the chapters on Domain Events, Event Sourcing, or case studies are of particular interest to you.

I enjoyed this book a lot. After reading the Blue Book, I had a basic understanding of the concepts but struggled with applying them in practice. This title improved my grasp of DDD considerably.

⭐ The Verdict

Implementing Domain-Driven Design, or The Red Book, is an amazing book for anyone interested in Domain-Driven Design.

It has some minor flaws, but I highly recommend this book to newcomers to DDD or those who want tangible examples accompanying the abstract concepts of DDD.

Final score: 8 out of 10.

Do you have any recommended reading about Software Design? Share them with us in the comments!

Top comments (0)

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay