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.

  • Apple
  • Android
  • Windows Phone
  • Android

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

Buy Used
FREE Shipping on orders over $25.
Condition: Used: Good
Comment: (HARDCOVER) The book shows normal wear and tear. All shipping handled by Amazon. Prime eligible when you order from us!
Trade in your item
Get a $1.75
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Holub on Patterns: Learning Design Patterns by Looking at Code (Books for Professionals by Professionals) Hardcover – September 28, 2004

4.5 out of 5 stars 20 customer reviews

See all 5 formats and editions Hide other formats and editions
New from Used from
"Please retry"
$43.28 $17.39

Amazon Book Review
The Amazon Book Review
Discover what to read next through the Amazon Book Review. Learn more.
click to open popover

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.

New York Times best sellers
Browse the New York Times best sellers in popular categories like Fiction, Nonfiction, Picture Books and more. See more

Product Details

  • Series: Books for Professionals by Professionals
  • Hardcover: 432 pages
  • Publisher: Apress (September 28, 2004)
  • Language: English
  • ISBN-10: 1850158479
  • ISBN-13: 978-1850158479
  • ASIN: 159059388X
  • Product Dimensions: 7.3 x 1.1 x 9.7 inches
  • Shipping Weight: 5.5 pounds
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (20 customer reviews)
  • Amazon Best Sellers Rank: #878,668 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By wiredweird HALL OF FAMETOP 1000 REVIEWER on 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 45 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
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 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
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 7 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
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 8 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Pages with Related Products. See and discover other items: computer programs