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—principles not covered by most books on Java—and shows you how to apply these principles to make your code easier to maintain and debug.