0%

Book Description

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

  1. Cover
  2. Half Title page
  3. Title page
  4. Copyright page
  5. Dedication
  6. Foreword
  7. About This Book
    1. Intended Audience
    2. Structure and Content
    3. Acknowledgments
  8. About The Authors
  9. Guide To The Reader
    1. Introduction to Patterns
    2. Structure and Content
    3. Pattern Form
    4. Background Reading
  10. Chapter 1: Concurrent and Networked Objects
    1. 1.1 Motivation
    2. 1.2 Challenges of Concurrent and Networked Software
    3. 1.3 A Case Study: Designing a Concurrent Web Server
    4. 1.4 Wrapping Up
  11. Chapter 2: Service Access and Configuration Patterns
    1. Wrapper Facade
    2. Component Configurator
    3. Interceptor
    4. Extension Interface
  12. Chapter 3: Event Handling Patterns
    1. Reactor
    2. Proactor
    3. Asynchronous Completion Token
    4. Acceptor-Connector
  13. Chapter 4: Synchronization Patterns
    1. Scoped Locking
    2. Strategized Locking
    3. Thread-Safe Interface
    4. Double-Checked Locking Optimization
  14. Chapter 5: Concurrency Patterns
    1. Active Object
    2. Monitor Object
    3. Half-Sync/Half-Async
    4. Leader/Followers
    5. Thread-Specific Storage
  15. Chapter 6: Weaving the Patterns Together
    1. 6.1 From Individual Patterns to Pattern Languages
    2. 6.2 A Pattern Language for Middleware and Applications
    3. 6.3 Beyond Concurrency and Networking
    4. 6.4 Pattern Languages versus Pattern Systems
  16. Chapter 7: The Past, Present, and Future of Patterns
    1. 7.1 What Has Happened in the Past Four Years
    2. 7.2 Where Patterns are Now
    3. 7.3 Where Patterns are Going
    4. 7.4 A Parting Thought on Predicting the Future
  17. Chapter 8: Concluding Remarks
  18. Glossary
  19. Notations
  20. References
  21. Index of Patterns
  22. Index
  23. Index of Names
3.149.255.162