You are previewing Pattern-Oriented Software Architecture, Volume 1, A System of Patterns.
O'Reilly logo
Pattern-Oriented Software Architecture, Volume 1, A System of Patterns

Book Description

Pattern - Oriented Software Architecture A System of Patterns Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal of Siemens AG, Germany 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. Visit our Web Page http://www.wiley.com/compbooks/

Table of Contents

  1. Cover
  2. Half Title page
  3. Title page
  4. Copyright page
  5. Dedication
  6. About this Book
    1. The Structure of the Book
    2. Acknowledgments
  7. Guide to the Reader
  8. Chapter 1: Patterns
    1. 1.1 What is a Pattern?
    2. 1.2 What Makes a Pattern?
    3. 1.3 Pattern Categories
    4. 1.4 Relationships between Patterns
    5. 1.5 Pattern Description
    6. 1.6 Patterns and Software Architecture
    7. 1.7 Summary
  9. Chapter 2: Architectural Patterns
    1. 2.1 Introduction
    2. 2.2 From Mud to Structure
    3. 2.3 Distributed Systems
    4. 2.4 Interactive Systems
    5. 2.5 Adaptable Systems
  10. Chapter 3: Design Patterns
    1. 3.1 Introduction
    2. 3.2 Structural Decomposition
    3. 3.3 Organization of Work
    4. 3.4 Access Control
    5. 3.5 Management
    6. 3.6 Communication
  11. Chapter 4: Idioms
    1. 4.1 Introduction
    2. 4.2 What Can Idioms Provide?
    3. 4.3 Idioms and Style
    4. 4.4 Where Can You Find Idioms?
  12. Chapter 5: Design Patterns
    1. 5.1 What is a Pattern System?
    2. 5.2 Pattern Classification
    3. 5.3 Pattern Selection
    4. 5.4 Pattern Systems as Implementation Guidelines
    5. 5.5 The Evolution of Pattern Systems
    6. 5.6 Summary
  13. Chapter 6: Patterns and Software Architecture
    1. 6.1 Introduction
    2. 6.2 Patterns in Software Architecture
    3. 6.3 Enabling Techniques for Software Architecture
    4. 6.4 Non-functional Properties of Software Architecture
    5. 6.5 Summary
  14. Chapter 7: The Pattern Community
    1. 7.1 The Roots
    2. 7.2 Leading Figures and their Work
    3. 7.3 The Community
  15. Chapter 8: Where Will Patterns Go?
    1. 8.1 Pattern-Mining
    2. 8.2 Pattern Organization and Indexing
    3. 8.3 Methods and Tools
    4. 8.4 Algorithms, Data Structures and Patterns
    5. 8.5 Formalizing Patterns
    6. 8.6 A Final Remark
  16. Notations
    1. Class-Responsibility-Collaborator Cards
    2. Object Modeling Technique
  17. Glossary
  18. References
  19. Index of Patterns
  20. Index