Software architecture has never been more relevant than today. With the rise of AI-augmented development, edge computing, distributed systems, and cloud-native architectures, engineers face an ever-expanding landscape of patterns, styles, and trade-offs.
The challenge is no longer finding an architectural pattern that works — it’s understanding how patterns relate to each other, when to apply them, and how systems evolve from one architecture to another. This book addresses exactly that gap.
Architectural Metapatterns offers something rare: a unified taxonomy of software and system architectures. Instead of presenting patterns as isolated recipes, it groups them by structure and function into metapatterns — clusters of related architectures that share the same underlying shape. The result is a map that helps architects and developers navigate the complexity of modern system design with clarity and confidence.
About the book
Architectural Metapatterns is a comprehensive, 440-page compendium that catalogs and classifies architectural patterns into a coherent system.
Written by Denys Poltorak, the book organizes hundreds of patterns into less than 20 metapattern classes — from Monolith and Layers to Services, Pipeline, Hexagonal Architecture, and Mesh. Each class is analyzed in terms of structure, trade-offs, performance, variations, and evolution paths.
The book is AI-free and hand-crafted, featuring hundreds of box-and-arrow diagrams that make architectural relationships直观 and memorable. It covers foundational concepts like modularity, coupling, and cohesion, then builds upward through basic, extension, fragmented, and implementation metapatterns. An extensive analytics section compares patterns, discusses ambiguous cases, and explores how architecture relates to product life cycles.
Whether you are a novice programmer looking for a primer on high-level software design or an experienced architect seeking a broader perspective, this book provides a structured way to think about system architecture that you will reference again and again.
What you will learn
- How to classify and compare architectural patterns by their structure and function
- The differences between Monoliths, Services, Pipelines, Layers, and their variants
- How to apply metapatterns like Proxy, Orchestrator, Middleware, and Shared Repository
- When to use Hexagonal Architecture, Microkernel, Mesh, and Plugin-based designs
- How architectures evolve over time under changing forces and requirements
- How to analyze trade-offs between coupling, cohesion, latency, throughput, and complexity
- The relationship between system topology and architectural qualities
Table of contents
- Part 0: Introduction — About this book, Metapatterns, System topologies
- Part 1: Foundations of software architecture — Modules and complexity, Forces and asynchronicity, Four kinds of software, Arranging communication
- Part 2: Basic metapatterns — Monolith, Shards, Layers, Services, Pipeline
- Part 3: Extension metapatterns — Middleware, Shared Repository, Proxy, Orchestrator, Sandwich
- Part 4: Fragmented metapatterns — Layered Services, Polyglot Persistence, Backends for Frontends, SOA, Hierarchy
- Part 5: Implementation metapatterns — Plugins, Hexagonal Architecture, Microkernel, Mesh
- Part 6: Analytics — Comparison of patterns, Ambiguous patterns, Architecture and product life cycle, The heart of software architecture
- Part 7: Appendices — Acknowledgements, Books referenced, Copyright (CC BY 4.0), Evolutions of architectures, Glossary, Index of patterns
Book details
- Title: Architectural Metapatterns: The Pattern Language of Software Architecture
- Author(s): Denys Poltorak
- Publication year: 2024-2026 (continuously updated)
- Publisher: Self-published (Leanpub)
- Pages: 440
- PDF size: 74.7 MB
- Estimated reading time: ~11 h 0 min
- Level: Beginner to Advanced
- Main category: Software Engineering
- Subcategory: Software Architecture
- Language: English
- License: CC BY 4.0
More books in: Software Engineering
Legal notice: This book is shared for educational purposes only. The content is distributed under Creative Commons licenses or with explicit permission from the author. FreeProgrammingBooks may host files that comply with their respective licenses.