Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems. Uniquely, the patterns that are presented in this book span several levels of abstraction, from high-level architectural patterns and medium-level design patterns to low-level idioms. The intention of, and motivation for, this book is to support both novices and experts in software development. Novices will gain from the experience inherent in pattern descriptions and experts will hopefully make use of, add to, extend and modify patterns to tailor them to their own needs. None of the pattern descriptions are cast in stone and, just as they are borne from experience, it is expected that further use will feed in and refine individual patterns and produce an evolving system of patterns. Visit our Web Page
The book is obsolete by now. It is 16yr olds. It was written when the internet could be downloaded on a CD, and OS/2 was hot.
All examples are C/C++ and very extensive, they contains full implementations. If you like to read old code you might like this book. I read plenty of old code in my daily job.
If you work with Java or C# (or something else modern) you will be disappointed in this book. Most of the patterns are now obsolete as these languages and their libraries solves the problems for you.
I picked up this book to learn about architectural patterns. MVC and Proxy were the things that came closest in the book.
If you are interested in the history of patterns this might be interesting for you.
Excellent book, in spite of fact it is old, about architecture, patterns and software development, it covers much wider range of topics than a canonical GoF.
Contrary to the most liked review I hard find this book to be fundamentally out of date. Frankly their commentary makes me question whether or not they even understand design patterns in general. In systems design you're not going to rely on a single pattern, and the book makes mention of that. Believe the term the used was, "collections of patterns" or something along those lines. I'm really not entirely clear what they're rambling on about. Since a great deal of the algorithms and data structures we use today were proofed back in the 1950s and 1960s. The Art of Programming will turn fifty next year and is still as fundamentally true as it was in 1968. Its frankly a childish, ignorant review of something the author clearly does not understand.
That being said, this is certainly no introduction to design patterns, object-oriented programming let alone how to read OO modeling language flowcharts. If you know/understand UML, OMT or some other modeling language you should have no issues with the examples given. Some of the design patterns included a very similar to one another, but they are fundamentally different enough in the scenarios to which they're applicable that its not a big deal. The foresight to include Microkernels is frankly somewhat remarkable.
An excellent book that acts as a primer of engineering patterns, how to identify, document and evolve them. It provides some common pattern identifications, but most importantly references to excellent supporting material. Some of the patterns are only applicable to systems engineering and may in fact not be helpful to the majority of application development today. It stands as a great source of historical context and foundation for interpretive analysis for modern design patterns. My page tabs are on 193 (reflection), 277 (Command Pattern), & 339 (pub/sub.)
To be accurate, I read the first 100+ pages, and skimmed the rest. Contrary to the authors' assertion in the introduction, I don't think this is a book to read from cover to cover - well, not one you would want to, any way.
As a thorough introduction to patterns, it's pretty good - covers a lot of them in depth. But, it's verbose, and in most cases would work better as a reference book - read the Problem / Solution / Consequence / Benefits / Liabilities of each pattern, then if delve deeper into that pattern if it seems relevant.
Caveat: the version I read was not Volume 1, it was the original single volume from c1996 - it's now a 5-volume set.