Head First Design Patterns: A Brain-Friendly Guide.
This book is filled with great visualizations to help you to learn new concepts easily. It shows you the tried-and-true, road-tested patterns, and best practices used by developers to create functional, elegant, reusable, and flexible software.