I just finished this book (Amazon.com link). It was my first exposure to Design Patterns at all, and it was pretty interesting. The author provided some good examples and real-world scenarios to demonstrate the subject, but sometimes I had a hard time understanding his perspective on things. However, his book is easily supplemented with a quick Google on Design Patterns. This journey has just begun though - there's a lot more to learn about Design Patterns and how they'll fit into writing code. The challenge will be to recognize opportunities for patterns before applying them.