Reviews

Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans

yarnspinner's review against another edition

Go to review page

informative slow-paced

3.5

hthg's review against another edition

Go to review page

5.0

A fascinating book that truly gets to the heart of what healthy and sustainable software development should be. A crucial book for any software developer.

weyensl's review against another edition

Go to review page

5.0

When going into this book, many of my peers warned me about how this is a tough read. And how the examples are so far-fetched and hard to understand. How it is a slog to go through.

Well, I'm glad I read it, and I found it to be amazing. The theory provided in the book, spans several different possibilities and is not just based on the happy path of a software project. On top of all that are all the examples on the book to make the theory really come to life.
Granted, some are harder to understand than others, but all of them are integral to the goal of this book.

I'm looking forward to putting all the principles en practices provided by this book to use.

iamleeg's review against another edition

Go to review page

4.0

Not always clear, occasionally pretty basic, but contains lots that's useful.

erikars's review against another edition

Go to review page

4.0

See elsewhere for my more detailed summary.

The short summary is that Domain-Driven Design is a great book for any programmer or software designer who wants to deepen their ability to model application domains. Evans describes why domain modelling is important and sets out a number of patterns for achieving better models. He has a good grasp of real world complexities and, because of that, insists that a model must be implementable if it is to be successful. Any overlap between the model and the implementation should be identical or the model will become obsolete.

Evans provides a number of patterns to help determine the best domain model for an application. These patterns range from the abstract to the concrete, from the brilliant to the pedantic. Overall, I highly enjoyed the book although, at just over 500 pages, I am glad that I had a reading group to work through it with.

aaronmunger's review against another edition

Go to review page

2.0

Did not make it through, the organization of this book did not flow well for me and I just couldn't pay attention long enough to really get any meaning out of most chapters. Maybe I'll try again if I move into an applied science field, but this book is not targeted towards writing dev tools.

rahulporuri's review

Go to review page

challenging informative slow-paced

5.0

A must read for every professional software engineer. It’s a difficult book that takes a lot of time and energy to read and fully digest but it is well worth the time. If possible, read and discuss it with other software engineers, to really make the most of it.

dunguyen's review against another edition

Go to review page

3.0

Uhh, so I'm pretty sure I didn't understand all the concepts but I'll try to review it anyway. I've wanted to read this as it's one of those few timeless books in CS that occasionally gets mentioned. Domain-Driven Design is sold as a way to produce software that is easy to understand, use, maintain and extend. In essence what you would like your code to look like. Evans has gathered the different principles into a pattern catalog and describes how and when to use the different patterns.
The patterns are massively useful and I can see some that I have used, others I understand and see a use for and yet some others that I'm not sure I'll ever use but it's nice to know about it regardless.

So far so good, my criticism of this book would be that it's too theoretical and abstract and at the same time really specific. Most of the book is abstract in the sense that I'm sometimes not sure whether it's still about code or just general work of some sort. I think Evans tries to decouple the technical details from the Domain-Driven design but it makes it harder for me to fully comprehend and read the book. Most of the examples seem like they're under heavy NDA from the companies where Evans has helped as they are sometimes vague which made me struggle to understand. For a book that emphasizes domain knowledge, the examples didn't quite explain the domain knowledge well enough for me.
Sometimes Evans has code snippets which is easier for me to read and understand and the code snippets are fine in that they don't use some fancy paradigm but the object-oriented paradigm. These snippets help a lot in comprehension. What doesn't help comprehension is the weird mentions of beans in Java which is just a bit weird as it's such a detailed language specific thing to mention.

Overall it's worth reading and I feel there's plenty to take away from. It's one of those books where new insights come every time it is read and I'm sure on my next read in a couple of years, more of the concepts will start making sense.

vikpek's review against another edition

Go to review page

informative sad slow-paced

3.5

There is value in it for sure. Evans shares knowledge that is useful and often applied in the software world. And I agree that as programmer you should at least skim it. 

But his writing style is the slowest and dryest I've ever encountered. It reminds me of the time when I was writing research papers that didn't have enough content and I needed to stretch the word count so I started adding meaningless words to blow it up. 

Sometimes I summarized whole pages of this book just by writing down two sentences and I'm sure that containend all the relevant information. 

My favorite quote "... write just a very short document of brief 3-7 pages." This is how brief the whole book feels. 

bluuejeans's review against another edition

Go to review page

First read p147