My opinions of the books out there. Obviously, I'm biased.
I picked up the following books on my shelf:
Design Patterns Explained: A New Perspective on Object-Oriented Design. In my not so humble opinion, the first book to read on patterns. If you want to start somewhere else, read Peter Coad's
Java Design which incorporates many ideas of patterns without mentioning them.
Design Patterns: Elements of Reusable Object-Oriented Software. Still the best book on patterns. Get a copy, the C++ is not that hard to read. Get a copy of Grand's patterns in Java book if you want examples.
A Timeless Way of Building by Christopher Alexander. This is the architect's book that started it all. Read it. It is both interesting from a technical and non-technical way. My wife enjoyed this and she is a psych counseler in our public education system.
Refactoring - A great book. Although focused on good coding practice, patterns and coding practice go hand in hand. I've seen that if you follow three rules: once and only one, high cohesion, loose coupling, you will often end up with patterns.
Pattern-Oriented Software Architecture: Vol 2, Patterns For Concurrent and Networkd Objects. Its roots are in C++ and Corba but this is a great book for anyone dealing with multithreading. Examples are in C++ however.
Pattern-Oriented Software Architecture: Vol 1. A good secondary book on patterns. No code examples but good discusions of many patterns. Quite a lot of overlap between GoF book. A must have for a departmental library.
Grands Java Patterns - good secondary book. Definitely should be available at the department level.
Cooper's Java Patterns: A Tutorial - avoid this or get the on-line copy.
------------------
Alan Shalloway,
Look for Jim Trott and my book:
Design Patterns Explained Visit our site
Net Objectives.
Visit our
on-line companion to the book