Ratings16
Average rating4
We don't have a description for this book yet. You can help out the author by adding a description.
Reviews with the most likes.
Been reading this on and off for a while now. I would put this on the “must read” shelf of anyone involved in the development side of software engineering, including programmers, designers, architects, even development managers. It presents a lot of important points and topics that some developers sort of know or understand but never clearly defined and put forth. There are best practices on patterns, approaches to design and development, architecture, and communication.
It takes OO development up to a new level, expanding on the generic technical ideas into the realm of domain knowledge. It's about closing the gap of understanding between business users, project owners, and and the developers.
The concepts presented take some time to absorb and are best learned when put in actual practice. It's not easy to digest but as you glean bits and pieces there, sometimes it's like, “I know doing this way always felt right”, and now the book explains why it felt right. Some of the explanations are rather abstract (there are very specific examples throughout the book) for things that are hard to define, so I'd say I found it difficult to relate to things where I had no practical experience. Still, I come away from this book with a good understanding of the benefits of placing high importance on the correctness and representational value of domain model.
I love the main concept of domain driven design as explained in this book. Create a core part of your data model that reflects how the business operates within its domain. However the writing of the book was less than ideal with too much repetition throughout and too academic of a tone. It is an ambitious book which tries to organize the code at a higher level of abstraction than classic design patterns. Well worth reading; highly recommended. I did do some initial thoughts on how to apply the book to my ongoing work, and it's not easy to apply it. Requires a lot of thought. But the way it's causing me to change my perspective on the codebase is also beneficial.
For some reason this book is greatly beloved in programming circles. I can't tell if that's because the people doing the beloving are die-hard Java Enterprise programmers, or if I'm just missing something here. But I think it's the former.
Domain-Driven Design is an excessively dry, boring book whose main thesis seems to be “make sure everybody agrees on what terminology is being used.” What could have been this one sentence is instead 650 pages, chocked full of UML diagrams and insipid discussions about shipping containers. And that's saying something, coming from a guy who reads excessively dry boring math and engineering books on the regular.
If I had to be charitable, I would say that this book is independently groping towards functional programming without knowing it, and trying to shoehorn the ideas into an OOP-mindset. There is a lot of potential here for things to like, but it ultimately falls short. If you've only ever coded in Java, or frequently sketch UML diagrams, this might be the book for you. And if so, may god have mercy on your soul.