Gang Of Four
3 August 2004
In my view the Gang of Four is the best book ever written on object-oriented design - possibly of any style of design. This book has been enormously influential on the software industry - just look at the Java and .NET libraries which are crawling with GOF patterns.
Despite my praise, this is not an easy book to read. I don't recommend it until you're pretty comfortable with the basic principles of OO design. Even then it takes a fair investment of effort to really appreciate the book. Unlike most books, however, it amply pays that investment.
If you're not a C++ programmer, don't be worried that most of the code examples are in C++. They don't use obscure areas of the language, and the code examples should be easily readable to anyone who has used a C based language.