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 Architectures (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.
About the Authors
This book has been written by the award winning team responsible for the first POSA volume "A System of Patterns", joined in this volume by Douglas C. Schmidt from University of California, Irvine (UCI), USA.
Visit our Web Page
Table of Contents
About This Book
About The Authors
Guide To The Reader
1 Concurrent and Distributed Objects
2 The Patterns
2.1 Introduction
2.2 Service Access Patterns
Wrapper Facade
Extension Interface
Interceptor
2.3 Event Handling Patterns
Reactor
Proactor
Asynchronous Completion Token
2.4 Initialization Patterns
Acceptor-Connector
Activator
Component Configurator
2.5 Synchronization Patterns
Scoped Locking
Strategized Locking
Thread-Safe Interface
Double Checked Locking Optimization
2.6 Concurrency Patterns
Active Object
Monitor Object
Leader/Followers
Half Sync/Half-Async
Thread-Specific Storage
3 Tying the Patterns Together
3.1 From Individual Patterns To Pattern Languages
3.2 A Pattern Language for Distributed
Object Computing
3.3 Beyond Networking, Distribution,
and Concurrency
Notations
Glossary
References
Index of Patterns
Index