Genre: Best Practices
Design patterns, in a very small nut shell, are programming algorithms that have been tried and tested in specific scenarios. Head First Design Patterns intends to be an entry-level education on this topic.
First things first, though: any book in the Head First series is not for anyone who already professes excellence or anybody who does not like inane gags as part of the educational process.
Conversely, if you do like the zany gags, and you want to learn about design patterns then this could be an excellent purchase if you understand the Java programming language. However, people with a C# background should have little trouble comprehending the Java aspects of the book.
Some of the patterns covered in the book are the model view presenter, the strategy pattern, the different incarnations of the factory pattern and a fair few more. On top of this, the book also teaches good design principles to help you write clean and efficient code.
Testament to the book's educational capability is the fact that I managed to slip my knowledge of design patterns into the odd conversation after reading the book, and crucially, I've actually used them in my code to very pleasing effect.
For me, the book's price was justified and the time spent reading it was a compelling pleasure. If your not anti-Head First, and design patterns are a hurdle you need to clear, then you will indeed enjoy and learn from Head First Design Patterns.