Head First Design Patterns is a nice introduction to the world of design pattern. It is really easy to read and has a lot of visual elements to make everything as clear as possible. This resulted in me plowing through the pages at a speed I very rarely get to witness.
The book goes through the most common fundamental design patterns thoroughly using examples in Java. Of course, It turns out I have used most of the patterns discussed in the books, but it was still nice to solidify my base knowledge about these patterns. These are things that are basic enough that all developers should know them and this book explains well how the patterns are used and the reasons why they are used.
Overall, I liked the book a lot since it was so easily digested and still provided important knowledge. The biggest downside to this books is that it seems to be written for people who are relatively new to programming, so at many times I thought it was overly explicit. However, this just resulted in an even faster reading pace.