Show HN: Book) the Pattern Language of Software Architecture

descri1 pts1 comments

Architectural Metapatterns [Leanpub PDF/iPad/Kindle]Kick off your book project in 3 hours! Live workshop on Zoom. You’ll leave with a real book project, progress on your first chapter, and a clear plan to keep going. Saturday, June 6, 2026. Learn more…

About

About<br>Author<br>Testimonials<br>Contents<br>Sample

About<br>About the Book

Patterns of software architecture are all interrelated (no pattern is an island). You can rarely make a product in a pure architectural style, and the chances for it to survive undistorted over years are negligible. Software grows iteratively and adapts to its environment.<br>Architectural Metapatterns is all about patterns and their relations. It generalizes hundreds of individual patterns into several wider classes (metapatterns) each of which can be applied to a local or distributed system to change its properties in a certain way. Rinse and repeat.<br>The content is lavishly illustrated with intuitive NoUML diagrams. It’s concise and AI-free.<br>Have a good time!<br>Here are the web version of the book and presentations that summarize its main content.

Share this book

Categories<br>Software Architecture

Feedback<br>Email the Author

Author<br>About the Author

Denys Poltorak<br>Denys is an unemployed C/C++ programmer from Ukraine.<br>He had 15 years of experience with embedded and high-load systems, nearly half of which he spent leading the development of a project, before he burned out, lost his job, and wrote a book.

Testimonials<br>Reader Testimonials

This book is PHENOMENAL. I program professionally, teach code architecture to teams, and read many books about software patterns and practices. This book is an instant classic, packed with pragmatic wisdom for software programmers, system architects, and development teams. Kudos for creating such an superb addition to the field, and moreover for making it widely available for the benefit of all of us.

Joel Parker Henderson<br>Head of Software Engineering, Technology Advisor

Architectural Metapatterns helps unravel the complexities surrounding software architecture by describing some common (and not so common) patterns an architect can use to better understand and form architectural solutions. In this book you’ll find hundreds of structure-based patterns encompassing communication, data, modularity, coupling, structure, and lots more, making it a must-read for any software architect.

Mark Richards<br>Author of Fundamentals of Software Architecture

This magnificent book lets you reason clearly about modern architectural patterns. Modern applications have only a few different types of problem to solve, but each problem has many possible solutions. This book steps through the problems and, for each one, discusses the trade-offs and different approaches in the patterns that solve that problem. After you read it, you'll know how to think about your problems and how to find the right architecture to solve them. This is exactly the kind of book I would have been delighted to sign when I was an editor.

Nathan Torkington<br>Author of Perl Cookbook

Contents<br>Table of Contents

.toc>li]:list-none">

Part 0. Introduction

You’ll find inside

Short table of contents

About this book

Structure of the book

Diagrams

Notation

The architectural religions

What’s wrong with patterns

TLDR

Metapatterns

Architectural patterns

Design space

Structure determines architecture

The system of coordinates

Map and reduce

An example of metapatterns

What does that mean

System topologies

Methodology

From theory to practice

The map of system topologies

Monolithic systems

True Monoliths

Monoliths with auxiliary layers

Monoliths with Plugins

Underdeveloped Moduliths

Layered architectures

Ordinary Layers

Scaled Layers

Other layered systems

Plugins family

Plugin Architecture

Separated Presentation

Control patterns

Hexagonal Architecture

Cell

Services area

Barebone services

Services with extensions

Hierarchies of services

Partially merged services

Fragmented patterns

Layers of services

Layered services

Hierarchies

Common motifs

Summary

Part 1. Foundations of software architecture

Modules and complexity

Concepts and complexity

Modules, encapsulation and bounded context

Coupling and cohesion

Development and operational complexity

Composition of modules

Forwarding and duplication

Summary

Forces, asynchronicity, and distribution

Requirements and forces

Conflicting forces

Asynchronous communication

Distribution

The goods and the price

Four kinds of software

Source of inputs

Latency constraints

Control (real-time, hardware input)

Variants

Patterns

Implementation

Interactive (soft real-time, user input)

Variants

Patterns

Implementation

Streaming (continuous, raw data input)

Variants

Patterns

Implementation

Computational (single run, user input)

Variants

Patterns

Implementation

Mixed cases

Camera

3D action game

SQL database

Summary

Arranging communication

Programming and architectural paradigms

Technologies are...

patterns book software architecture architectural services

Related Articles