If you’re new to the design patterns or just want to brush up your skills or need help with explaining these patterns to other people, this book is a great resource. It includes all basic patterns that a developer faces day to day life. If you found it hard to understand “Design Patterns: Elements of Reusable Object-Oriented Software” by gang of four, this book will definitely help. I’d suggest starting with “Head First Design Patterns” and after understanding the basics you might want to switch to the latter for detailed explanations. This book is filled with interesting(easy-to-remember) images, good examples from life and how to turn real life problems into coding problems and solve them with design patterns. Best part that I liked about this book is the symbols they’ve chosen to specify important parts. It’s easy to tell which part is the main logic, which ones are examples and which ones requires the most attention. This gives you the ability to control the pace you’d like to read. You can finish the book really fast by reading the basics or spend as much time as you’d like to study all the details. More reading and more visualization never hurts!