The success of any software application or system depends on the architecture style you use. This updated report presents several common architecture styles to guide designers and developers on how to design components and to help you determine the ways in which those components should interact.
Author Mark Richards takes a deep dive into many common software architecture styles. Each chapter includes a full explanation of how a particular style works, outlines its benefits and considerations, and describes the circumstances and conditions the style was designed to address. This report also presents an analysis of and scorecard for each style based on several architecture and software development quality attributes.
Architecture styles include:
- Layered architecture
- Microkernel architecture
- Event-driven architecture
- Microservices architecture
- Space-based architecture
This second edition includes new techniques and advances that have appeared for each architecture style over the past seven years. Guidelines in each chapter also reveal when--and when not--to use the style described. This edition introduces new topics such as the difference between architecture patterns and styles, monolithic versus distributed architectures, and technical versus domain partitioning.
- Title
- Software Architecture Patterns, 2nd Edition
- Subtitle
- Understanding Common Architectural Styles and When to Use Them
- Publisher
- O'Reilly Media
- Author(s)
- Mark Richards
- Published
- 2022-07-29
- Edition
- 2
- Format
- eBook (pdf, epub, mobi)
- Pages
- 73
- Language
- English
- ISBN-13
- 9781098134273
- License
- O'Reilly Media
Cover Copyright Table of Contents Chapter 1. Introduction Chapter 2. Architectural Structures and Styles Architecture Classification Monolithic Architectures Distributed Architectures Which One Should I Choose? Architecture Partitioning Technical Partitioning Domain Partitioning Which One Should I Choose? Chapter 3. Layered Architecture Description Key Concepts Examples Considerations and Analysis When to Consider This Style When Not to Consider This Style Architecture Characteristics Chapter 4. Microkernel Architecture Topology Examples Considerations and Analysis When to Consider This Style When Not to Consider This Style Architecture Characteristics Chapter 5. Event-Driven Architecture Topology Example Architecture Event-Driven Versus Message-Driven Considerations and Analysis When to Consider This Style When Not to Consider This Style Architecture Characteristics Chapter 6. Microservices Architecture Basic Topology What Is a Microservice? Bounded Context Unique Features Examples and Use Cases Considerations and Analysis When to Consider This Style When Not to Consider This Style Architecture Characteristics Chapter 7. Space-Based Architecture Topology and Components Examples Considerations and Analysis When to Consider This Style When Not to Consider This Style Architecture Characteristics Appendix A. Style Analysis Summary About the Author