Goodreads helps you keep track of books you want to read.
Start by marking “Implementing Domain-Driven Design” as Want to Read:
Implementing Domain-Driven Design
Enlarge cover
Rate this book
Clear rating
Open Preview

Implementing Domain-Driven Design

4.06  ·  Rating details ·  744 ratings  ·  53 reviews
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 ...more
Hardcover, 656 pages
Published February 16th 2013 by Addison-Wesley Professional (first published 2013)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Implementing Domain-Driven Design, please sign up.

Be the first to ask a question about Implementing Domain-Driven Design

Community Reviews

Showing 1-30
Average rating 4.06  · 
Rating details
 ·  744 ratings  ·  53 reviews

More filters
Sort order
Start your review of Implementing Domain-Driven Design
Apr 14, 2015 rated it did not like it
Shelves: it
The amount of frustration I felt reading this book is directly proportional to the value I see in domain-driven design.

As others have noted you'll have to read a lot for little information. I totally agree and here are a couple of examples I have at hand:
[p. 402 - Repositories - Introduction]
"there are circumstances under which a collection-oriented design will work for you, and circumstances when it is best to use a presistence-oriented design. I first discuss when to us
Jun 16, 2013 rated it it was amazing
I got this as a Kindle edition, but there is no Kindle edition, so Hardcover will have to do. EDIT: I bought the hardcover as well as the Kindle edition. I'm going to be using this book LOTS.

This is an incredibly comprehensive and complete book. It takes Eric Evan's "Domain Driven Design" and roughly two hundred different blog posts, example projects and community thinking and tries to condense them into a single book.

As such, it goes over DDD from a "what are we doing" r
Oct 10, 2017 rated it it was ok  ·  review of another edition
Shelves: it
It was a really painful book to read. I had some rough idea what DDD is about beforehand and most of the time I was bored. There were some new inspiring insights, some useful structured explanation how some things should be done, but most of the contents were rather dull. I hope there is a better introductory book for DDD, as I cannot recommend this one.

Whenever there was a text explaining an example code, I usually read about 10% of it, because 90% of it talked about things that wer
Apr 02, 2017 rated it really liked it
Recommends it for: Seriously serious software engineers and their architects.
Shelves: technical, 2016, 2017
Short version: excellent book on the DDD philosophy, and both the strategic and tactical patterns that you can use to apply that philosophy to your software projects. Be forewarned though, this all comes with a cost, and requires significant discipline. For best results, read as part of a group or book club.

A few additional details:

1. If you're in a hurry, read Domain-Driven Design DistilledShort version: excellent book on the DDD philosophy, and both the strategic and tactical patterns that you can use to apply that philosophy to your software projects. Be forewarned though, this all comes with a cost, and requires significant discipline. For best results, read as part of a group or book club.

A few additional details:

1. If you're in a hurry, read
Domain-Driven Design DistilledDomain-Driven Design Distilled. Given that IDDD is over 600 pages, it is... comprehensive. If you just need to do a survey to get down some of the basics, "test drive" it with DDDD.

2. Read as part of a book club. It's comprehensive and dense. Certain concepts and practices appear straightforward, while others are sophisticated. While it's possible to derive some (even significant) value from the text while reading on your own, it's a good idea to get some friends/colleagues to join in and talk through some of the stickier bits.

3. Pace yourself; don't try to do it all. As the title suggests, this book is about putting these philosophies and patterns into practice for real-world software projects. Read carefully though, and think through what's being presented. Not everything in here is "silver bullet" material; that said, everything comes with some kind of cost -- whether it's additional cognitive overhead, bracing yourself for much refactoring, or spending some political capital w/in your organization to put all this into practice.
Sebastian Gebski
Feb 12, 2013 rated it really liked it
It's good, but it was supposed to be better.
First, it doesn't repeat the basics from the Blue Book - that's a pro.
Second, it extends the DDD content by some ideas that appeared in DDD lingo after Blue Book appeared (like Domain Events) - that's a pro as well.
Third, it contains a very, VERY good appendix about event sourcing - that's a big pro.

But the majority of content is ... a bit unconvincing, you can't feel much of the value added. Examples are said to mimick RL
Tomasz Bartczak
Dec 13, 2013 rated it did not like it
Shelves: software
It's quite slow and steady, and some Java examples are really not presenting what they should, e.g. Publish-Subscribe implementation with crazy ThreadLocal in there...

Ieva Gr
Jun 03, 2018 rated it it was amazing
Shelves: technical
Follows “real life” team navigating from bad to good design decisions
Provides considerations of benefits and drawbacks for most decisions taken (which I think is awesome for exercising your own critical thinking – trying to see with how many of these you could come up yourself)
Provides implementation examples with code snippets and explanations
Additional information about things like Architecture styles, RESTful’ness and etc.
I don't remember ever struggling more to get through a book than when reading this one. I kept feeling like the requirements to properly understand the book included "having read this book already" – kind of difficult.

Much of this came down to the author's decision to start with the strategic patterns before covering the tactical ones. He gives a reason for doing so, which I can't remember, but I do remember that he references the tactical patterns an awful lot before actually covering
Kaspars Laizans
Got it, because was recommended by a colleague, who did read Evan`s Blue Book (BB) and this. He said, that this is easier to read and better suited for getting into DDD. Haven't read BB yet, but IDDD seems a bit chaotic, as if it's meant to be a reference book. First chapters often refer to last chapters, which require some understanding of previous chapters. I would call it a dependency hell.
It does have some good points and examples, but generally wouldn't recommend as a book for a beginner.
Lai Duy Ha
May 29, 2014 rated it liked it
When you doubt about what you believed before about N-Layer. When you are struggling for determine the logic with big service layer, and dump (anemic) models with ORM & DTO then this book is for you.

As DDD - Tackling Complexity could be consider as theory textbook. Implementing DDD filling the gap between theory and practical.

It points out the pitfalls of our current architecture design (N-layers), and show how could we re-thinking about design approach with practical
Nov 18, 2013 rated it it was ok
Hard language, not very good examples. I started reading Evans book, I didn't understood why I even started reading this book.
Nicolás Laurito
Feb 25, 2018 rated it it was ok
Tedious. Repetitive, ambiguous explanations. Too implementative. Unnecessarily long.
Shahriyar Nasir
Jun 12, 2017 rated it it was amazing  ·  review of another edition
An essential read for all software developers, Implementing Domain Driven Design provides practical guidance on how to understand and model the problem spaces encountered by software. Vaughn Vernon goes into depth in each chapter starting out with the Strategic DDD patterns and finishing up with the Tactical patterns. I especially liked the story that he laced throughout of a team that encountered domain modeling challenges. This team used DDD to overcome each challenge. IDDD is a dense book and ...more
Dina Bogdan
Jan 27, 2019 rated it it was amazing
I've read the book from a junior perspective that faced before some DDD principles and implementations. Also, I've read before the book several articles and viewed some talks about Domain Driven Design. The book helped me to understand what I've already faced before, to create a mindset of how I should develop a project from a DDD perspective, or how to improve your team velocity using DDD strategies and tactics.
The book is structured really well, has a lot of code examples that are pretty
Peter Rybarczyk
Sep 03, 2019 rated it really liked it
Ok, I made a big mistake by taking this book before the blue one. But still, there is a lot of knowledge worth of reading. But now for someone (like me) who just want to start a more professional journey with DDD. After some discussions with colleagues, I skipped the last few chapters of this book and i am going to start with Destiled and Evans book. Later, read Folwer Enterprise Patterns one more time.

And then, for sure I'm going to read this book one more but another way than I jus
Jan 19, 2019 rated it really liked it
Before you read this book, you have to read "Domain-Driven Design" by Eric Evans.

This is the book where you can find a reference about how to implement in real life the thoretical concepts regarding to DDD. It is a dense book, like the previous one, but it is full of code examples where you can take a real good idea about how to implement this pattern.

It is useful if you want to start a microservice applications based on this design.
May 26, 2018 rated it it was amazing
It greatly explains most of things that you may not get in the first time while reading Blue Book. Chapters are organized well and well explained by real world examples and trade-offs. For me, Blue Book was mostly theory but this book is the practice. Now many of the things are clear for me because after reading Blue Book I had a lot of questions in mind. Really recommended for people who are interested to learn more about DDD.
Apr 14, 2018 rated it liked it
DDD introduced a new way of looking at enterprise software engineering. Whilst the "Strategic modeling" part is vague and difficult to apply, the "tactical modeling" is very applicable and I found useful. All in all, I wish this book would be 200 pages shorter. To many chapters are not engaging enough. I highly recommend book when working on a DDD codebase - the book provides good theory, but without practice it won't stick.
Mar 20, 2018 rated it liked it
Shelves: read-tech
This book takes a more practical approach than the Blue Book. It doesn't try to redefine all the DDD concepts. The author shows how to apply DDD on a project and how the DDD patterns can influence your design (strategic and tactical), with pros and cons. I liked the fact that all examples were part of a single domain, even though they were not very challenging.

Chapters that I enjoyed most:
- Domain, Subdomains and Bounded Contexts
- Domain Events
- Aggregates
- Aggregates an
Gishu Pillai
Mar 20, 2019 rated it liked it
Good book although it started going over my head from Chapter 13 onwards.

NOT a page turner and the running example of a building a project mgmt tool didn't help at all. In fact, it contributed more to the drudgery of finishing this book.

Didn't care much for the cowboy duo and their jokes either.
Cheng Xu
Jul 01, 2018 rated it really liked it  ·  review of another edition
This book provides many practical advices and tips for implementing a DDD system. However, in the ebook version (Safari Online), the code examples are not very easy to read, and some concepts are not very clearly explained (e.g. Appication Service vs Domain Service).
Apr 02, 2018 rated it it was amazing
Vernon gives thorough treatment to the DDD topic, covering lots of ambiguity in concepts that I had in mind after finishing Evans’s DDD. Highly recommended. Also, make sure to check out sample code on github.
Michał Niczyporuk
Jun 02, 2018 rated it it was amazing
Shelves: technical, design
This book is way better then Evans' 'blue book' . Its written in plain English, using simple examples.
Chapter by chapter we're introduced into new elements of DDD, and author explains all neuances very well.
Sep 16, 2018 rated it liked it  ·  review of another edition
Too much Java. Too much noise. The best chapter was appendix by Abdullin Rinat. But still, I will probably re-read this book since there is a lot of knowledge inside.

But definitely not in polish - translation is... just too far.
Marko Kunic
Oct 27, 2019 rated it really liked it
I never read it cover to cover because I really don't like all the cowboy reference, but I always open it when I need a refresher.

Great book, can be used as a catalogue of DDD patterns.
Soderberg Zuo
Dec 22, 2016 rated it liked it  ·  review of another edition
Shelves: ddd
I've read Chinese edition,which some content is unintelligible.
Francis Fish
Mar 31, 2013 rated it really liked it
Recommends it for: People struggling with large systems, looking for how to divide it up into an SOA architecture
I think this is a great book in terms of the ideas it promotes, but for me somewhat flawed.

It's billed as a companion to Domain-Driven Design: Tackling Complexity in the Heart of Software and as such is less abstract and works through some case studies to get to the meat of what that the original DDD book only hinted at and actually went round and round a lot.

For me it harks back to a lot of things I have recently read and done, in particular the design process for good (for some def
May 17, 2013 rated it really liked it
I was expecting something radically new when I started reading this book. But really it turns out to be a compendium of known industry best practices taken from object-oriented design, agile methodology, service-oriented approaches and patterns theory (for example, entities and value objects).

Some new terminology is introduced but the concepts are established approaches to good software design. For example, bounded contexts seem to me to be no more than a scoping exercise, typically
Jun 03, 2013 rated it it was amazing
Wordy, conversational style. Good coverage of aggregate, and more. Good code examples. Eric's DDD, knowledge of design patterns are prerequisites. A must read book.

Review after my first attempt to read the book:

The book is written in conversational and wordy style. As a result, I find it more difficult to follow than Eric's DDD book. It reminds me of the pain of reading Eric's DDD book, and the joy of reading GoF and PEAA.

I have stopped reading it around 60 pa
Francisco Garcia
May 06, 2013 rated it liked it
Bittersweet book. Too short and too long at the same time

It is a great companion for the DDD book. In many cases more didactical and better structured. It presents the topics in a nice order and goes very deep, however if you are new to DDD and/or do not love DDD already, reading the whole thing will be really painful. It is a great book for deepen your knowledge on DDD, but a bit heavy if you want to start fresh.

It also mentions very interesting topics like NoSQL, concur
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Clean Architecture
  • Test Driven Development: By Example
  • Patterns of Enterprise Application Architecture
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Refactoring: Improving the Design of Existing Code
  • Building Microservices: Designing Fine-Grained Systems
  • Accelerate: Building and Scaling High-Performing Technology Organizations
  • Designing Data-Intensive Applications
  • Head First Design Patterns
  • Building Evolutionary Architectures: Support Constant Change
  • Patterns Principles and Practices of Domain Driven Design
  • A Philosophy of Software Design
  • Growing Object-Oriented Software, Guided by Tests
  • Refactoring to Patterns
  • The Pragmatic Programmer: From Journeyman to Master
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“Developing software that delivers true business value is not the same thing as developing ordinary business software. Software that delivers true business value aligns with the business strategic initiatives and bears solutions with clearly identifiable competitive advantage—software that is not about technology, but about the business.” 1 likes
“When Events are delivered to interested parties, in either local or foreign systems, they are generally used to facilitate eventual consistency.” 0 likes
More quotes…