Design Patterns Explained Simply by Alexander Shvets
My rating: 4 of 5 stars
I’m pleased to announce the availability of another review of a book I finished just now. This one turned out to be an easy read, so it didn’t take much time to get through it. Please enjoy the review.
After reading Head First Design Patterns (HFDP), I picked this book up to give me a quick overview of what I already learned and to expand my horizons with patterns that were not or just vaguely discussed in the aforementioned book. It contains patterns situated nicely into the creational, behavioral and structural categories and are sorted in an alphabetical order for easy navigation. Finally, each of the patterns is presented using a nice structure: Intent, Problem, Discussion, Structure, Example, Check list and Rules of thumb.
The discussion in all sections is clear and there is no shortage of comparison between different patterns, though they get repetitive if one reads the book cover to cover due to being copy-pasted from one pattern to the other. The discussions are also supported by class diagrams and other figures, however (interestingly enough), there are no code samples whatsoever. Instead, the author chose to present possible implementations in a prose text form, which is an interesting choice, as the author could’ve achieved language neutrality by using pseudocode as well, which latter would’ve been the better approach, if language neutrality was indeed a concern. Additionally, if printing space was to be saved by this decision, a couple of links to sample codes on the Internet would’ve been nice, similarly to other technical books in this field.
Despite all this, I still find this book to be a good source of information, though it seems to be a bit like a collection of “lessons I already learned”. Because of this, the primary audience (I think) are people, who already encountered these patterns one way or another. So all in all, I’m pretty happy with this book, as it can serve both as a nice supplementation to the Appendix section of Head First Design Patterns, and as a general usage reference to design patterns as well.