
Title | : | Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy |
Author | : | |
Rating | : | |
ISBN | : | - |
Format Type | : | Kindle , Hardcover , Paperback , Audiobook & More |
Number of Pages | : | - |
Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy Reviews
-
I just got the kindle version of the book and I have to say, I absolutely loved it! By far the best I’ve read on the topic overall, and not a dry read like just about every other book on the topic. It really realigns the design thought process with the business while ahem actually including the business, in true DDD fashion. It also really brings a lot of ideas together from the the most popular sources out there like Eric Evans, Martin Fowler, Chris Richardson, Greg Young, and many , so this is coming from a very inspired place and will not giving that feeling like you're being preached at.
It provides real life, usable heuristics, i.e. when to use the patterns, when to avoid them, when and how to change your mind about your decision later as the business evolves which I think has been a real sticking point for many engineers and architects that have considered DDD in the past. It even gives you a flow chart to use as a starting point on choosing which pattern to use in different areas of your system. For example, the area of the system I work in at my company would almost never use the domain model (i.e. the aggregate pattern, etc.) because most of what we build are supporting subdomains which support generic subdomains where simpler patterns are better suited for business logic. I've mostly known this, but this book has helped me articulate it so much better and I know that will help me get my organization aligned. It even extends these classifications to help you decide exactly where to put your people (offshore/contractor teams vs. FTEs vs. rock stars), and most importanly, in terms that even your business leadership should understand, and hey, that means they'll be far likely to support you in the way you need them because now it's far clearer how that's going to benefit them and less like you're just being a diva hah!
This book is mostly non technical but there are some code samples that are just complete enough to articulate and idea. In other words, this book is focused on learning learning DDD __principles__ so than learning the patterns you'd implement in your code. In my opinion this is the most important part because while DDD comes with a couple ceremonies (e.g. Event Storming), it is mostly a structured frame of mind that keeps you in lock step with the business rather than just churning code. This should be required reading for all software architects and leaders in the field! Even if you're not planning on ever attempting it.
At the end, in the appendix, there is a case study where Vlad pulls all the principles outlined in the book by sharing his personal experience with DDD starting off as a novice practitioner and stumbling around making every mistake there is to make, learning from it, and evolving the understanding; encountering the reason for each DDD principle along the way. Enlightening, really.
That said, I’d love to see a follow up that leans into the specifics of a real code base in practice, and in C# for once. With how well Vladik articulates this subject (which is very approachable), I think something like that between this book and something like I'm suggesting coming from him could really inspire growth of this community of practitioners.
Thank you so much for writing this! -
The book is not unnecessarily long and it provides real life examples on when to use, when not to use certain patterns. Has a lot of diagrams and code snippets in my favorite language C#.
The case study at the end is cherry on top.
Loved the book!