The pattern language of software architecture

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.

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.

The content is lavishly illustrated with intuitive NoUML diagrams. It’s concise and AI-free.

Have a good time!



The map of system topologies


The book

Cover of Architectural Metapatterns

This website is an online version of my book Architectural Metapatterns: The Pattern Language of Software Architecture which can be downloaded from GitHub or Leanpub.

It is a compendium of architectural patterns which sorts them out into a tree-like hierarchy based on the pattern’s structure and function. This allows for grouping hundreds of patterns into less then 20 classes and exploring the common features, applicability, and performance of each class.

It also includes supplementary topics that range from the discussion on the nature of complexity to the comparison of orchestration, choreography, and integration through shared data. Aside of that, there is a wide range of evolutions which show how a system may change under different forces.

Architectural Metapatterns is AI-free, 440 pages long, and includes hundreds of box-and-arrow diagrams.

If you like the book or website, please tell your friends about them. Knowledge must be free!