Architectural patterns are often documented as software design patterns. An architectural pattern often uses the same description as a general, reusable solution to a commonly occurring problem in software architecture within a given context.

The separation of what is architectural and what is design is not commonly agreed, nor are the patterns catalogued in any accepted form.

List of software architecture styles and patterns

Software Architecture is an ambiguous term which not only relates to the discipline of software architecture itself, but also structure and connections between components.

List of software architecture styles and patterns

An Introduction to Software Architecture describes it as such "We are still far from having a well-accepted taxonomy of such architectural paradigms, let alone a fully-developed theory of software architecture. But we can now clearly identify a number of architectural patterns, or styles, that currently form the basic repertoire of a software architect."

List of software architecture styles and patterns

Catalog of architectural patterns

Multitier architecture

Model–view–controller

Domain-driven design

Blackboard pattern

Sensor–controller–actuator

Presentation–abstraction–control

Component-based

Monolithic application

Layered

Pipes and filters

Database-centric

Blackboard

Rule-based

Event-driven aka implicit invocation

Publish-subscribe

Asynchronous messaging

Microkernel

Reflection

Client-server (multitier architecture exhibits this style) Shared nothing architecture Space-based architecture Object request broker Peer-to-peer Representational state transfer (REST) Service-oriented Cloud computing patterns

References

Architectural pattern (computer science) Software design patterns