Overview of Software Architecture Patterns and Styles
This article introduces software architecture patterns as reusable solutions to common design problems and catalogs various architecture styles—including layered, microservices, event‑driven, and distributed systems—providing a concise reference for architects and developers.
Architecture patterns are general, reusable solutions to common problems in software architecture within a given context, typically documented as software design patterns.
Architecture Styles Catalog
Three‑tier
Multilayer architecture
Model‑View‑Controller
Domain‑Driven Design
Microkernel
Blackboard pattern
Sensor‑Controller‑Actuator
Presentation‑Abstraction‑Control
Architecture Styles Catalog
Structure
Component‑based
Monolithic application
Layered
Pipe and Filter
Microservices
Shared Memory
Database‑centric
Blackboard
Rule‑based
Message Passing
Event‑driven (implicit invocation)
Publish‑Subscribe
Asynchronous messaging
Adaptive Systems
Plugins
Microkernel
Reflection
Domain‑specific language
Distributed Systems
Client‑Server (2‑tier, 3‑tier, n‑tier illustrate this style)
No‑shared architecture
Space‑based architecture
Object request broker
Peer‑to‑peer
Representational State Transfer (REST)
Service‑Oriented Architecture
Cloud computing model[2]
Source: http://jiagoushi.pro/list-software-architecture-styles-and-patterns
Discussion: Join the Knowledge Planet or WeChat circle "Chief Architect Circle" for further interaction.
Architects Research Society
A daily treasure trove for architects, expanding your view and depth. We share enterprise, business, application, data, technology, and security architecture, discuss frameworks, planning, governance, standards, and implementation, and explore emerging styles such as microservices, event‑driven, micro‑frontend, big data, data warehousing, IoT, and AI architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.