I have had this book in my reading list for a long time and now I regret not having read it before!
Its structure and the way it explains the patterns and OOP principles makes you internalize the intent and implementation of the patterns that are described.
The book describes 12 fundamental patterns, based on the GoF list and also has an appendix with a reference to 9 more patterns.
The content not only helps you with these patterns, also helps you to understand the canonical way to describe patterns, why are they used and tips to study other patterns.
An absolutely must read for any developer who wants to have a sound understanding of the patterns. The book flattens the learning curve and I would recommend to read it previously to GoF (another must read) or other books that are focused on more specific patterns.