Skip to content
Denys Poltorak edited this page Oct 17, 2025 · 34 revisions

Architectural Patterns Wiki

This site has multiple goals:

  1. Become a wiki of architectural patterns

    There are many patterns here. I invested over a year in collecting architectural patterns and styles that relate to the structure of a system.

    You will find here Microservices and Microkernel but not Test-Driven Development (which is a methodology pattern) or Dead Letter Channel (a communication pattern).

  2. Show that patterns make a hierarchy

    There are way too many patterns. Thus some of them are similar, as there are only so many different things a human mind can invent. This wiki groups patterns according to their structure and function, and describes specific features, use cases, benefits and drawbacks for each group of patterns as a whole to outline the big picture and avoid repetition.

    For example, Scatter-Gather and MapReduce are almost identical (Scatter-Gather lacks the Reduce step) while their relation to Saga is more remote but still traceable (each of the three patterns coordinates components of a system).

  3. Provide an intuitive way to study patterns

    Having patterns arranged into a hierarchy greatly reduces the amount of information one must remember to learn a new pattern as it differs from others in its group in minor details.

    Also, if we can enumerate patterns and see how they relate to each other, then we can compare them and even spot empty spaces in our knowledge - which is how I discovered Polyglot Persistence.

Places to start:

You can download this as a book from GitHub or Leanpub (which also features a few testimonials and a detailed table of contents). The work is licensed under Creative Commons Attribution 4.0 International.

Any help with the content, including adding new patterns or correcting the ones already described, is appreciated.

Table of Contents:

<< Index of patterns Introduction >>

Table of Contents:

Introduction
Foundations of software architecture
Basic metapatterns
Extension metapatterns
Fragmented metapatterns
Implementation metapatterns
Analytics
Appendices

Fast Navigation:

Websites about Patterns:

Clone this wiki locally