A comprehensive taxonomy of software system topologies organized by their degree of partitioning into layers (technical) and subdomains (domain). The map covers five major regions: Monolithic systems (true monoliths, monoliths with auxiliary layers, plugins), Layered architectures (ordinary, scaled, and special variants), Plugin family (hexagonal, microkernel, separated presentation), Services area (barebone services, services with extensions, hierarchies), and Fragmented patterns (layers of services, layered services, hierarchies). Each topology is analyzed for its appropriate use case, from small cohesive projects to huge recursive decompositions. Key motifs include managing layers, platform layers, and the principle that system size and complexity drive the choice of partitioning strategy. This is an excerpt from the book 'Architectural Metapatterns: the Pattern Language of Software Architecture'.
Table of contents
MethodologyThe map of system topologiesMonolithic systemsLayered architecturesPlugins familyServices areaGet Denys Poltorak’s stories in your inboxFragmented patternsCommon motifsSummary3 Comments
Sort: