ESSENTIAL reading if you develop or test OO software. You can read this book cover to cover (not something I'd recommend for the GoF book, unless you are actually a computer). Use this book to learn the concepts quickly, then use the excellent GoF book for reference. If you're already familiar with and have used a lot of OO patterns this book is not for you, however, if you want to learn how to design and write more robust, elegant and maintainable code, read this book now! It will even show you why some areas of the Java API have been built the way they are.
Warning: this book contains some cheesy jokes and slightly wacky examples, but you will not be worried about that when you get to the last page and realise that virtually all of it is stored securely in your mind.