Bruce Eckell's
Thinking in Patterns covers the GoF patterns in Java. I didn't think he added as much to the field as he usually does ... it seemed to kind of spit out the same ideas as GoF with Java examples.
For grins, see Grady Booch's
Patterns Catalog.
I tend to think in principles much more than patterns these days. Patterns which represent solutions to a finite set of problems. If you happen to have a problem that is not one of those, you're on your own. Then you need to work with the principles that led to designs good enough to become patterns, and hope they'll make your one-off solution to your unique problem just as good.
For that, I recommend Robert Martin's
Agile Software Development, Principles, Patterns and Practices. This book really teaches how to design and how to code in a great way. If you're seriously interested in growth (and not just passing a Patterns interview or
test) buy it now!
[ July 14, 2006: Message edited by: Stan James ]