- Hardcover: 666 pages
- Publisher: Wiley; Volume 2 edition (September 14, 2000)
- Language: English
- ISBN-10: 0471606952
- ISBN-13: 978-0471606956
- Product Dimensions: 7.7 x 1.6 x 9.6 inches
- Shipping Weight: 3.1 pounds
- Average Customer Review: 24 customer reviews
- Amazon Best Sellers Rank: #448,783 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects Volume 2 Edition
Use the Amazon App to scan ISBNs and compare prices.
"Neverworld Wake" by Marisha Pessl
Read the absorbing new psychological suspense thriller from acclaimed New York Times bestselling author Marisha Pessl. Learn more
"This book is one of the more important contributions to the literature on 'patterns' and deserves to become a standard text on its specified area of interest."
-- Overload, September 2000
"Let me Start by saying that I highly recommend this book. If you are a reader of the expanding literature on pattern-oriented software design, rush out and buy this book! This book has the potential to be a seminal volume." --Glenn E. Mitchell II, Ph.D.: Microsoft Office Pro; www.msofficepro.com; (5/30/01)
From the Back Cover
Designing application and middleware software to run in concurrent and networked environments is a significant challenge to software developers. The patterns catalogued in this second volume of Pattern-Oriented Software Architecture (POSA) form the basis of a pattern language that addresses issues associated with concurrency and networking. The book presents 17 interrelated patterns ranging from idioms through architectural designs. They cover core elements of building concurrent and network systems: service access and configuration, event handling, synchronization, and concurrency. All patterns present extensive examples and known uses in multiple programming languages, including C++, C, and Java. The book can be used to tackle specific software development problems or read from cover to cover to provide a fundamental understanding of the best practices for constructing concurrent and networked applications and middleware.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
That being said, the author has been very wordy when explaining a simple idea and some of the examples are bit confusing. To fully grasp the ideas of the patterns, readers need patience and might have to review it a few times. More importantly, the examples used to illustrate patterns are tightly tied to a particular OS feature and make the pattern less meaningful in a broad sense. In fact, many patterns described in the book can be applied to a wider and more general context. For example, Acceptor/Connector can be applied to telephony application e.g. SIP or P2P communications systems to model the initiator and receiver. The Proactor/Async Completion Token can be applied to build electronic trading system where orders are filled asynchronously, also async operation processor within the Proactor can be implemented in the application level. In addition, the downloadable papers from author's web site explain acceptor/connector and leader/follower patterns (e.g. Bound variant etc) better than the book though the book explains other patterns well.
Comparing with GOF book, this book has illustrated some of the architectural level patterns which minimize locking and increase the efficiency for concurrent system. Surprisingly, this book receives much less reviews comparing to GOF design pattern books which is more related to micro level design strategies. I believe that this book is heavily under-rated.
After finishing the book, I like the book very much and bought a used one for a much cheaper price than the original $90 so I can have all patterns in one collection. Overall, it is a great book and highly recommended.
However, the examples are at times unclear and the author does not always motivate them convincingly. From a technical writing perspective, the passive voice plagues this book from start to end, forcing readers to stop and reread sections to make sense of convoluted prose.
This gives a clear, thorough description of about 15 design patterns that work well large, performance-sensitive applications. Some (like "Scoped Locking") depend on the specific semantics of C++, but may work in Java or C# if used carefully. Others are highly specialized implementations of more general patterns. The "Leader/Followers" pattern, for example, is a one implementation of the "Object Pool" pattern (see Grand, 'Patterns in Java', 1998) used for a particular purpose. On the whole, the authors did a fair job of relating these patterns to others in the literature. I was only occasionally frustrated that I did not have that literature at hand when reading this.
The authors go into extreme detail in describing implementations based on each pattern, something sure to help some readers. There is often a C++ implementation as well, at least in skeletal form. The descriptions go on at great length, averaging almost thirty pages of discussion for each pattern. More isn't necessarily better, though, and some descriptions would have benefitted from a slimming program. I would also have been grateful for more differential discussion - comparing patterns, in terms of the specific decision critieria that argue for one pattern vs. another.
The back matter in this book takes about 100 pages - glossary, bibliography, and indices by pattern, topic, and author names. Very helpful stuff. If it's going to be that long, however, a sentence or two about the more important references would have added little bulk but lots of value to the bibliography.
The book is a good one, giving lots of practical information about the patterns it discusses. It's aimed at an experiecned reader, someone already conversant with OO programming, patterns, and at least a taste of problems bigger than classroom exercises or solo projects. A bit less mass chosen a bit more carefully would have improved this book, but it's still a worthwhile addition to my technical library.
Most recent customer reviews
Although the documented patterns suit server and client applications, I would have prefered to see them...Read more