Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Holub on Patterns: Learning Design Patterns by Looking at Code (Books for Professionals by Professionals) Hardcover – September 30, 2004
Top 20 lists in Books
View the top 20 best sellers of all time, the most reviewed books of all time and some of our editors' favorite picks. Learn more
Customers Who Bought This Item Also Bought
More About the Author
Top Customer Reviews
The book is basically a commentary on the Gang of Four. It's certainly not the first, but it has a unique format. He demonstrates all 23 of the GoF patterns by applying them to two modest-sized Java applications. This is great for people who need concrete code to see what the pattern really means. It's even better because it shows multiple patterns overlapping, where one application class has different duties in the different classes. A large part of the book's bulk is code listings for the applications - some classes exceed 1000 lines of source code. I normally consider that to be a waste of paper. This time, however, the code is complex enough that it really does need to be presented right next to the commentary. (The code is also available electronically at holub.com .)
Towards the end of the book, he says "So, that's all of the Gang of Four design patterns, all tangled together in the two programs ... the way the patterns appear in the real world ..." That tang of realism is what gives this book such an unfamiliar format, and gives such contrast to the standard, one-at-a-time reductionist descriptions of each pattern in isolation.Read more ›
The volume is structured in 4 chapters. The first one contains some 'preliminaries'. Meaning : short explanations about why OOP is still incorrectly used, design patterns are not fully understood, plus a bonus of controversial statements like 'getters and setters are evil' and 'Swing is an over-engineered piece of junk' [well, maybe not exactly these words]. As a direct consequence of reading this chapter, the 'intermediates' will start banging their heads on the closest wall available : "My code sucks ! I swear I'll never blindly copy/paste again !".
In the second chapter things really start to heat up. Allen explains why 'extends is evil' and interfaces are not evil. In case we needed an example of fragile-base-class problem, here we go with some MFC bashing (usual stuff). The chapter focuses also on some creational patterns such as Factory and (at great lenghts) Singleton. I especially liked the cool explanations of how to shut down a Singleton.
The third chapter discusses an [overly complex, on purpose] implementation of the 'Game of Life'. Between huge chunks of code (a bit much for my taste) scattered throughout the chapter, the author explains all the implementation choices: from Visitor to Flyweight.Read more ›
Until I read this book I thought I knew OO and was convinced that I was practicing it for the last couple of years, turns out I was deeply mistaken and this book taught me just how little I know.
Two involved examples are given; my initial reaction to the UML and pattern diagrams given was that of confusion. But as Allen walked me through, the confusion faded and I was struck by the depth of their meaning, from then on I use UML a lot more extensively.
At the end of the book there is a short reference to all of the patterns, this 50 page reference is worth the price of the book just by itself.
Awesome stuff, this book is a must read for anybody looking to take the plunge into OO, it has definitely made me a much better programmer. I have read it twice and intend to read it a few more times in the future.
The other case study is an embedded SQL interpreter. Neither example is complicated. But each consists of several interlocking parts that contributes to an overall complexity that can be challenging if you don't use patterns.
Granted, if by one means or another, you're already familiar with patterns, perhaps from the GoF book, then Holub's text will do little for you. But if you're new to patterns, he can offer an accessible insight.
Most Recent Customer Reviews
Great book --- really explains the patterns with in-depth examples unlike many other books that expect you to have experience with implementation.Published 5 months ago by Jason Ellis
Although I like the code examples in this book, sections are very verbose and contains a lot of opinion where it's not needed. Read morePublished 10 months ago by Dan Stairs
An absolute must read for both better understanding of OOP concepts and Patterns. Holub's strength of conviction & mastery of subject is rivaled only by Uncle Bob (RC Martin,... Read morePublished 14 months ago by RK
While this is a worthy and useful effort it is marred by an excess of polemic compounded by a lack of humility and a dirth of references as there are none. Read morePublished on August 4, 2010 by Marc Grundfest
Holub on Patterns focuses on applying design patterns, as they exist in the real world. That is, many overlapping patterns, tangled up, and deliberately so. Read morePublished on June 26, 2007 by Justin
After reading the first chapter of this book, I felt that Mr. Holub had a very unique way of explaining things which kept me going on. Read morePublished on April 4, 2007 by Prashanth
I have read so far only one chapter out of the four of this book I may update my review later.
This book has a lot of very good material. Read more
Holub on Patterns" by Allen Holub is a complement book to the well-known GoF's Design Patterns book. Read morePublished on May 21, 2005 by Michael Huettermann
I read the GoF book, Design Patterns Explained before reading the 'Holub on Patterns'. They treat same subject but take different approaches. Read morePublished on May 3, 2005 by Wow