7-day free trial available on Fire Tablets, iOS, Android, PC and Mac.

Deliver to your Kindle or other device

Enter a promotion code
or gift card
Sorry, this item is not available in
Image not available for
Image not available

Holub on Patterns: Learning Design Patterns by Looking at Code [Kindle Edition]

Allen Holub
4.5 out of 5 stars  See all reviews (19 customer reviews)

Print List Price: $99.00
Kindle Price: $64.99
You Save: $34.01 (34%)

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your email address or mobile phone number.


Amazon Price New from Used from
Kindle Edition $64.99  
Hardcover --  
Paperback $89.10  
Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Book Description

"The existing books on design patterns take a ""catalog"" approach, where they show the individual design patterns in isolation. This approach is fundamentally flawed because you can't see how the design patterns actually function in the real world. Most programmers learn by looking at computer programs.
Holub on Patterns: Learning Design Patterns by Looking at Code teaches you design patterns in exactly this way: by looking at computer programs and analyzing them in terms of the patterns that they use. Consequently, you learn how the patterns actually occur in the real world and how to apply the patterns to solve real problems.
This book also looks at the broader context of object-oriented (OO) design and how patterns solve commonplace OO design problems. It covers many of the principles of OO design&emdash;principles not covered by most books on Java&emdash;and shows you how to apply these principles to make your code easier to maintain and debug."

Editorial Reviews

About the Author

Allen Holub is a design consultant, programmer, educator, and author specializing in object-oriented design, Java, C++, and systems programming. He is a contributing editor for JavaWorld, and a popular columnist appearing in many computer magazines, including Dr. Dobb's Journal and Microsoft Systems Journal.

Product Details

  • File Size: 13084 KB
  • Print Length: 432 pages
  • Publisher: Apress (September 27, 2004)
  • Sold by: Amazon Digital Services, Inc.
  • Language: English
  • ASIN: B001REFS14
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Lending: Enabled
  • Amazon Best Sellers Rank: #523,514 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

Customer Reviews

4.5 out of 5 stars
4.5 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
43 of 45 people found the following review helpful
5.0 out of 5 stars Holub on Holub October 29, 2004
Format:Hardcover|Verified Purchase
This is a very enjoyable book. Reading it is a little like sitting down with an oldfashioned master craftsman. I mean the kind who shows you, step by step, how he plies his trade, and offers a cantankerous side-commentary of opinion on just about everything while he does it. The commentary on p.283, for example, describes a very questionable programming trick that he pulled, and why, and why this one violation of normal practice is acceptable in this one case. In other words, it's real - a little gritty, not like didactically pure textbook examples. It's what real programmers really do.

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 ›
Comment | 
Was this review helpful to you?
12 of 13 people found the following review helpful
5.0 out of 5 stars Pragmatic patterns, Holub style January 3, 2005
In order to read Allen Holub's new book, you'll certainly need some programming skills (Java, OOP and patterns to be more specific). On the back of the book, there's specified 'Intermediate to Advanced'. It certainly depends on what you mean by 'Intermediate'... because the book is not exactly a light read. But then again, we don't expect that from Allen Holub. We want interesting, insightful books from him, and 'Holub on Patterns' falls nicely into that cathegory. However, some 'intermediates' should prepare themselves for a harsh ride.

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 ›
Comment | 
Was this review helpful to you?
6 of 6 people found the following review helpful
5.0 out of 5 stars Highly Recommended May 17, 2005
I have been programming procedurally for over 6 years, this book was my plunge into the object oriented world. This books starts out with an enlightening introduction to object oriented concepts, this makes it accessible to people with incomplete knowledge of OO techniques.

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.
Comment | 
Was this review helpful to you?
8 of 9 people found the following review helpful
5.0 out of 5 stars accessible October 27, 2004
Holub attacks a pedagogic treatment of patterns that tends to focus on the abstract description. Of course, this abstraction is important, in order to generalise from specific instances. The whole point of patterns, after all. But Holub points out that often these descriptions are a little too abstract. Many of us learn from well chosen examples. So he follows this precept by elaborating on 2 nontrivial case studies. One is John Conway's classic Game of Life. From this you can see various common patterns emerge from the gestalt, like Visitor and Composite.

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.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
3.0 out of 5 stars Good information, but you have to work hard to uncover the diamonds
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 more
Published 1 month ago by Dan Stairs
5.0 out of 5 stars An absolute must read for both better understanding of OOP concepts...
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 more
Published 5 months ago by RK
3.0 out of 5 stars Caveat Utillior
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 more
Published on August 4, 2010 by Marc Grundfest
5.0 out of 5 stars Unique and highly recommended look at design patterns
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 more
Published on June 26, 2007 by Justin
5.0 out of 5 stars Design Patterns explained in a very unique and simplified manner
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 more
Published on April 4, 2007 by Prashanth
3.0 out of 5 stars Good work, stained by Microsoft hatred.
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
Published on September 27, 2005 by Amazon Customer
5.0 out of 5 stars Great complement book to the GoF's Design Patterns book.
„Holub on Patterns" by Allen Holub is a complement book to the well-known GoF's Design Patterns book. Read more
Published on May 21, 2005 by Michael Huettermann
5.0 out of 5 stars Practical Usage of the Design Pattern
I read the GoF book, Design Patterns Explained before reading the 'Holub on Patterns'. They treat same subject but take different approaches. Read more
Published on May 3, 2005 by Wow
5.0 out of 5 stars Makes You Think about Code
Holub on Patterns is a great book for any experienced programmer in object oriented languages. He effectively shows not only the design patterns from the gang-of-four book, but... Read more
Published on April 8, 2005 by Henry A. Lafleur
4.0 out of 5 stars Good practical treatment of patterns
Trying to get past the abstract into practicality when it comes to design pattern books is hard. Allen Holub's Holub On Patterns (Apress) takes a slightly different approach that... Read more
Published on February 24, 2005 by Thomas Duff
Search Customer Reviews

More About the Author

Discover books, learn about writers, read author blogs, and more.


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category