Where this book really shines, however, is the "Interfaces in the Real World" section. The systems built have been described by some reviewers as "toys"...and yet I've found myself implementing some version of a "WebConglomerator" or "Link analyzer" in company settings since 2006. I'm actually implementing a glorified Service Registry right now that has absolutely stymied some of my colleagues to design...and this book makes it look ridiculously easy.
What makes these examples truly compelling, however, is that they are CLEAN. These designs are FANTASTIC. If you really know how to think in interfaces, it becomes obvious to you how you can design these systems using TDD/BDD and implement in such ways that it's easy to switch from a Gson-based parser to Jackson, XML to YAML, etc etc. These are actually fantastic case studies in how to build frameworks masquerading as toy problems.
The last chapter on Design Patterns is succinct, but far more interesting than superficially thought. Encapsulating native collections with your own types is something developers everywhere just don't do enough of, and the benefits become fantastically clear with the BUILDER-esque chaining implementing AND and "merge" implementing OR criteria. I had never even thought of something like that. The treatment of FACTORY METHOD and discussion of PROXY vs. DECORATOR does a nice job of showing different options, and reinforcing the differences between the intents in the patterns.
...basically, anyone trying to be a Real Software Architect should read this short book on a Saturday morning, then think hard about it. It's got a lot of great content, in a very digestible and well-written format.