Review of the book "Learning Domain-driven design"
Yesterday, I completed Vlad Khononov’s book “Learning Domain-driven design”. I’ve come to know Vlad through his engaging presentations at numerous architecture conferences, and I’ve enjoyed watching his talks multiple times. So, when I spotted his book, I dove into it without hesitation. Honestly, I’m disappointed with the book and regret coming across it. While reading, it feels like the author squeezed it out of themselves with force. I haven’t read many books on DDD, but Vlad’s book unfortunately turned out to be the most useless for me.
How readable
The first part of the book is quite easy to read and, in general, almost completely repeats Vernon’s book “Domain-Driven Design Distilled”. Apparently, Vlad was inspired by Vernon’s works, but he tries to retell everything in his own words, and he does it quite well, but rather voluminously. In terms of the time needed to obtain the same information while reading Vernon, I spent much less time with the same result.
The second part of the book brings us a set of rather peculiar chapters, the usefulness of which, to be honest, I doubted. If the first part is written quite succinctly, sparing you from reading unnecessary filler, in the second part, the author often begins to repeat the same thoughts multiple times. Overall, the second part is still fairly readable, although I struggled to finish some chapters.
The third part of the book is probably the easiest to read. And although this part could easily have been cut in half, I still read it without any effort on my part.
The last part of the book, to me, is the strangest and it seems that it was thrown in only to type in the required amount of text. It is quite difficult to read for two reasons - firstly, you don’t understand why this is in a book that positions itself as an introduction to DDD, and secondly, it is greatly bloated.
Usefulness
The book presents itself as an introduction to DDD, but I must say the author falls short of this objective. Numerous chapters seem irrelevant to a beginner in DDD, while essential topics lack comprehensive examples, leaving readers to interpret the concepts on their own. Perhaps, with the inclusion of more illustrative examples, the book could prove more beneficial. However, as it stands, it risks further confusing readers.
Furthermore, the organization of information in the book is rather peculiar, leaving readers puzzled at times about the sequence of chapters. The structure of the book bears resemblance to works by a renowned author from the 90s who compiled books on hackers by gathering disparate internet articles.
Final words
In conclusion, if you’re seeking a book to delve into DDD and provide fundamental knowledge for further exploration, I’d suggest opting for Vernon’s “Domain-Driven Design Distilled” over Vlad’s book. While Vlad’s book offers insights into DDD, Vernon’s provides a more structured approach, focusing on essential concepts and excluding unnecessary details, making it ideal for beginners.