Skip to main content

Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects



Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects

Douglas C. Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann

ISBN: 978-1-118-72517-7 April 2013 450 Pages


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

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.


2.3 Event Handling Patterns.



Asynchronous Completion Token.

2.4 Initialization Patterns.



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.


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.



Index of Patterns.

"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;; (5/30/01)