This book offers you, the software engineer, the opportunity to learn from the hard won experience of some very elite engineers. That experience has been documented, shepherded, peer-reviewed, further refined, edited, and refined again. I wish I could succinctly communicate my object-oriented designs as cogently and as comprehensively as shown here. I know engineers at MIT Lincoln laboratory that could benefit from this book.
This scholarly work of computer science advances the state of the art in object oriented design. You are looking at the best of the best of pattern languages (patterns that are made up of design patterns) over a period of about four to five years. It is unusual for a book to have a single idea or idiom, on which, you could base an entire software product. This book provides more than one or two such ideas. It provides fertile ground to create a range of products that provide an competitive advantage in the market place.
Most organizations have standardized on one to three languages that are acceptable for use building enterprise-grade applications. My particular favorite pattern language, the Dynamic Object Model, is worth the price of the book alone if you are a software engineer tasked with supporting an analyst or customer with very vague requirements using a relatively static language. Turn those vague needs into an incredibly flexible system to explore those requirements while keeping maintenance costs under control.
If you must use a relatively static language (Java, C++, C#) and need to get more dynamic (like inserting new types or fields into objects at runtime) the Dynamic Object Model pattern language is for you. Not all of us are allowed to benefit from features commonly found in higher-level languages like Python or Smalltalk. This pattern language helps us trade speed for design flexibility. Advice is also given on borrowing virtual machine technology to speed our flexible implementations.
The reference to a Master's thesis describing a system, based on the Dynamic Object Model, that provides an editor for relational databases is invaluable if you have a need for providing such a capability for a non-technical end user.
I was particularly pleased with the GRID pattern language and distributed workflow plattern language. The ideas (groupings of patterns) are plainly stated, obvious in their value, extraordinarily written, and demonstrated in as little code as possible (often less than 200 lines).
If you are focused on learning APIs and certifying for various technologies this book is NOT for you. There are enough projects that work very well in a particular vendor's paradigm (create form, publish, use; or three tier MVC-based architecture).
If your software development needs aren't completely met by a vendor's solution paradigm, or if you are focused on expanding your understanding of problem solving through object oriented design and implementation then you have already cheated yourself by not buying this book. Creating proof of concept prototypes based on the sample code and adapting the designs to your own domain will take YEARS off your learning curve.
Very few patterns books are this accessible. If you are serious about creating "outside the box" object oriented systems you should do yourself a favor and consider this book.