A great reference for design patterns. Good discussion and examples.

Design Patterns and Refactoring
sourcemaking.com