Architectural Patterns
This post is a cross-post from www.ModernesCpp.com.
Architectural patterns describe the fundamental structure of a software system and are often based on design patterns. The five Pattern-Oriented Software Architecture series books provide a precious source of architectural patterns.
Let me start with the big picture: what is the difference between an architectural pattern, a design pattern, and an idiom?
Architectural Patterns, Design Patterns, and Idioms
The main difference between architectural patterns, Design Patterns, and Idioms is their structural categorization based on their scale and abstraction:
Let me bring my thoughts about architectural patterns, design patterns, and idioms to the point:
Modernes C++ Mentoring
Stay informed:
POSA
The Pattern-Oriented Software Architecture series (POSA) is a precious source of architectural patterns. It consists of five books:
I will present in my posts seven very often used architectural patterns: Layers, Pipes-and-Filters, Broker, Model-View-Controller (MVC), Reactor, Active Object, and Monitor Object.
POSA 1 provides the first classification:
From Mud to Structure
These patterns provide a controlled decomposition of an overall system task into cooperating subsystems.
Distributed Systems
Build systems whose components are located in different processes or address spaces.
Interactive Systems
Build a system with human-computer interaction.
POSA 2 added further classifications:
领英推荐
Event Demultiplexing and Dispatching
Initiate, receive, demultiplex, and dispatch events in distributed and network systems.
Concurrency Patterns
Addresses concurrency architecture and design issues for components, subsystems, and applications.
What's Next?
After this overview of the POSA books and their pattern, I will present the architectural pattern Layers in my next post.
?
Thanks a lot to my Patreon Supporters: Matt Braun, Roman Postanciuc, Tobias Zindl, G Prvulovic, Reinhold Dr?ge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Animus24, Jozo Leko, John Breland, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Kris Kafka, Mario Luoni, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Daniel Hufschl?ger, Alessandro Pezzato, Bob Perry, Satish Vangipuram, Andi Ireland, Richard Ohnemus, Michael Dunsky, Leo Goodstadt, John Wiederhirn, Yacob Cohen-Arazi, Florian Tischler, Robin Furness, Michael Young, Holger Detering, Bernd Mühlhaus, Matthieu Bolt, Stephen Kelley, Kyle Dean, Tusar Palauri, Dmitry Farberov, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Phillip Diekmann, Ben Atakora, and Ann Shatoff.
?
Thanks in particular to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, Richard Sargeant, Rusty Fleming, John Nebel, Mipko, Alicja Kaminska, and Slavko Radman.
My special thanks to Embarcadero, PVS-Studio, and Tipi.build.
Seminars
I'm happy to give online seminars or face-to-face seminars worldwide. Please call me if you have any questions.
Bookable (Online)
German
Standard Seminars (English/German)
Here is a compilation of my standard seminars. These seminars are only meant to give you a first orientation.
New
Contact Me