A review by dunguyen
Domain-Driven Design: Tackling Complexity in the Heart of Software by Ross Venables, Eric Evans

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.