This was my second time through this book and overall I have to say that I enjoyed it. Including the appendix, the book is just over 200 pages. This makes it one of the shorter books I have on software design. It's also one of the most readable. Don't let its readability and shortness mislead you, however. It addresses a topic which is both powerful and often overlooked, the power that interfaces have on application design. If you are in the habit of practicing test-driven development, you have a good idea of what I'm referring to.
The content of the book does a good job covering the subject matter. He compares and contrasts interface-based composition with inheritance, stateful vs stateless interfaces, translation between stateful and stateless interfaces, and a whole host of other relevant topics. Some of the more interesting points in the book were: interfaces as object roles, fluent interfaces, procedural vs document-based interfaces, and a small introduction to some of the commonly used GoF patterns. The topics on document-based interfaces were particularly relevant to my current project and his ability to sneak some SOA material in the appendix (and one of the examples) was also welcome.
If I had to classify this book, I would say that it's a light read if you are familiar with the basics. It will be a bit tougher otherwise. It isn't terribly in-depth, but it does bring to light a number of topics (ie.. breadth over depth). If you need a breather from that pile of textbooks on your desk, this would be a good choice.