Holub on Patterns:

Learning Design Patterns by Looking at Code

(The book's web page is at /goodies/patterns. Go there for the source code and other supplementary material.)

To be a good object-oriented designer, you have to know the design patterns cold, not just what they are, but how to apply them to solve real problems. Most books on the subject leave you in the lurch in the how-to-apply-patterns department, however. They catalog the patterns for you, but provide trivial examples that give you no real understanding of how the patterns work in the real world. Their examples don't show you the complex interactions between patterns, or the myriad ways that a pattern can be realized. Too many of the pattern books are filled with impenetrable academic prose that doesn't make the subject any easier.

I wrote this book to fix these problems. I'm a programmer, and I've written the book for programmers to read, centering the discussion around two non-trivial examples: a Game of Life implementation and a small embedded SQL interpreter. Taken together, these programs show you all of the "Gang of Four" design patterns in context. You can see how the patterns work and how they interact. You can see how they're actually used in nontrivial applications. I also discuss object-oriented-programming principles and how they apply to the patterns, so that you can understand why the patterns do what they do. The book also includes a design-patterns quick reference that you can use to refresh your memory as you learn the patterns.

You don't need to know anything about design patterns to read this book (though you do need to know Java). When you're done, you should understand the patterns thoroughly, and be able to apply them to your own work with ease.

To purchase a signed copy directly from the author, fill out the following form:

Cardholder Contact Information:
Name: *
Email: *
Telephone: *
Street Address: *
City: *
State: *
Postal Code: *
Country: *
Cost $49.95, within the United States
$69.95, International
Prices in US$ include tax and shipping. Shipping within the U.S. by USPS Priorty Mail. International shipping by Airmail Parcel Post—expect 4-10 days for delivery. International price does not include import duty. We typically ship the same day that we receive your order. We will happily replace damanged or unread books in like-new condition free of charge; otherwise, we do not accept returns.

Your credit-card chage will show "Software Engineering Consultants" as the merchant name.

Questions, Comments, Special Instructions: