Head First Design Patterns


 Head First Design Patterns is an outstanding book on a subject that could be very dry. If you can get past (or even enjoy) the quirky style and sense of humour, it teaches a majority of the standard design patterns in a way that can be absorbed and remembered.

The code examples are in Java, but they are readable and explained in detail. I strongly recommend this book, especially to the design pattern novice.