Pattern-Oriented Software Architecture Volume 1: A System of Patterns
|
| List Price: | $90.00 |
| Price: | $63.87 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
45 new or used available from $30.96
Average customer review:Product Description
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.
Product Details
- Amazon Sales Rank: #159862 in Books
- Published on: 1996-08-08
- Original language: English
- Number of items: 1
- Binding: Hardcover
- 476 pages
Editorial Reviews
Amazon.com Review
Pattern-Oriented Software Architecture: A System of Patterns looks at how patterns occur on three different levels--in software architecture, in everyday design, and in idioms (which describe how a particular design pattern is implemented in a programming language like C++). This synthetic approach is a little theoretical at times, but the authors also present over a dozen patterns and provide real-world examples wherever possible.
For architectural patterns, the authors look at the Layers pattern, used in operating systems such as Windows NT and virtual machines. They also consider Pipes and Filters, which process streams of data. (This pattern, the authors point out, is a lynchpin of Unix.) Their Blackboard pattern shows how a complex problem, such as image or speech recognition can be broken up into smaller, specialized subsystems that work together to solve a problem. (For recognizing words from a raw waveform input, a Blackboard approach might have separate processes to find phonemes, then words, then sentences.)
This book also looks at today's distributed systems in considering the Broker pattern, which is used on the Internet and in Microsoft's OLE technology. This section also presents several powerful patterns for building effective graphical user interfaces, such as Model-View-Controller.
The authors define several well-known design patterns, such as the Proxy and Command patterns, and also basic, far-reaching patterns, such as Whole-Part and Master-Slave, which are widely used throughout computing. Their survey ends with a discussion on the way objects can communicate (using such patterns as Forwarder-Receiver, Client-Dispatcher-Server, and Publisher-Subscriber), which many developers will recognize as familiar patterns, but are codified here as "official" patterns. The book then discusses some idioms in C++ and a more far-reaching role for patterns in software design and architecture. By fitting patterns into traditional software engineering practices, the authors of Pattern-Oriented Software Architecture successfully argue that the role for patterns will only continue to diversify and enrich tomorrow's software engineering tools and methodologies. --Richard Dragan
From the Publisher
This practical tutorial/reference demonstrates how patterns can enable users to create large-scale applications and solve recurring design problems. Contains a catalog of 25 patterns, described in a standardized format, that readers can use or adapt to their own development projects.
From the Back Cover
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.
Customer Reviews
Simply outstanding
It is a shame that this excellent book does not receive the same level of attention (at least in the U.S.) as the Gang of Four's Design Patterns: Elements of Resusable Object-Oriented Software. Pattern-Oriented Software Architecture is more comprehensive in scope and, to my mind, better written. In particular, it provides a solid, highly pragmatic framework for understanding and utilizing patterns at 3 levels of scope/abstraction -- i.e., architecture, design, and implementation -- not only design. Moreover, the authors pay significant attention to variations of patterns, trade-offs between alternative patterns, and the relationships between patterns that in practice may need to be combined in order to accomplish the objectives at hand. The book's overall organization, presentation of material, and referencing of related pattern sources (including the GoF's work) is superb. This is my top patterns reference, with others as serving as adjuncts.
This is *the* Patterns Book
While I have argued since it came out that the G of 4 book is the most important programming book of the decade, I have to agree with the other, lone reviewer here, that this is a deeper, more mature work. I rediscovered this book when Alan Holub's series of recent articles began to appear in JavaWorld about implemnting UIs and I realized that he was taking a lot of his ideas from Buschman. One of the reasons I bring this up is that it made me realize that this is the great thing about this book: it dares to wrestle some of the complex issues and tradeoffs to the ground, presenting the reader with a more useable guide to the practice of implementing patterns. You may have read John Vlissides' (Go4 author) comments about how for years after the publication of his book he'd ask when he spoke who had read the book and nearly everyone would raise their hands, then he'd ask who wanted to come up and explain the momento pattern or the bridge and only a couple of people's hands would be raised. This is in part due to the fact that the Go4 book encourages the concept of simple ICs that can just be retrieved and plugged in. In reality, as anyone who has read Vlissides' other book which spends its whole duration talking just about Visitor, the opposite is true. Buschman's book is the best in this regard at spanning the range of design issues but still dealing with the complexities of implementation, and helping the reader through the process of assessing trade-offs and still matching requirements.
Excellent book on patterns
This book is a perfect companion to "Design Patterns - Elements of Reusable Object-Oriented Software" (the GoF book) and it is more didactical than the later.
If you are new to patterns, I suggest that you first read this book and refer to "Design Patterns" when needed.
In "Pattern-Oriented Software Architecture", there are some chapters on pattern and software architecture concepts, but most of the book is dedicated to describing architectural and design patterns (there are a few pages on idioms). Some of the architectural patterns are well known: layers, pipes, filters, broker and microkernel.
The code is clear and written mainly in C++. The notations used are easy to understand (OMT notation is addopted for the object models and an adaptation of Message Sequence Charts to object interations).
The production (cover, paper, etc) is excellent.




