Top positive review
23 of 24 people found this helpful
The link between object oriented theory and design patterns
on May 2, 2012
This is a very intersting book. While the catalogue of patterns that form the result of the research aren't in themselves mind-blowing, the analytical methods that Jason McC. Smith used to arrive at the elemental design patterns, and the methods he uses to reconstruct well-known patterns based on these, are worthy of close study. This book is aimed toward software designers, architects and should be of utmost interest to creators of code analysis tools, since this was the impetus for the author's study in the first place. Far from being 'another design patterns' book, this seeks to present a foundation for *all possible* OO design patterns. An appendix demonstrates the mathematics that should prove this claim.
To summarize the book's objective, Smith sought to derive the simplest possible language-agnostic patterns (e.g. 'extend method', 'instantiate class') from object-oriented principles as a way to use them as building blocks for recognizing larger constructs such as those presented in the well-known 'GoF' book, such as the 'Abstract Factory' or 'Visitor' patterns. The first half of the book is a friendly and entertaining guide through the author's research process in which he explains how the elemental patterns are combined. By supplementing UML with his own modelling innovations, he can deftly show how the elements interact in more complicated ways. The second half manages to not be tedious, despite it mostly being in a catalogue format similar to that used in the GoF's Design Patterns book.
Even as someone who's currently more interested in functional-language software design than object-oriented, I found this to be a fascinating and enjoyable read and I'm confident that most would agree.