Ratings15
Average rating4.1
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.