What the book is about
Have you ever heard of design patterns? These are essential elements of object-oriented programming, and every programmer should know them.
The book will introduce you to this notion of design patterns. You will discover what they are, why every programmer should know them, how they can improve your programming, etc...
Then, the book will cover in a structured way and in detail each of the design patterns.
I think this book is good. But, there is too much information about each of the design patterns. It's impossible to remember everything or to take note of everything.
That's why I see this book more as a cheatsheet, or something you open only when you have a specific need and you want detailed information about something. In this case, if I want information about the Visitor pattern, I just open the book and I will find everything I need.
Also, this book is a lot theoretical. It includes some code examples, but not a lot. This is neither good nor bad because it meets different needs.
Who should read it
I think every programmer who has never heard about design patterns should read it. If you have ever heard of design patterns, it's not so useful to read this book, but it's useful to own it so that if you need information about one design pattern one day you can just find all the information you need in the book.