List of software architecture styles and patterns

Software Architecture Pattern refers to a reusable, proven solution to a recurring problem at the system level, addressing concerns related to the overall structure, component interactions, and quality attributes of the system.

Software architecture patterns operate at a higher level of abstraction than software design patterns, solving broader system-level challenges.

While these patterns typically affect system-level concerns, the distinction between architectural patterns and architectural styles can sometimes be blurry.

Architecture styles typically include a vocabulary of component and connector types, as well as semantic models for interpreting the system's properties.

These styles represent the most coarse-grained level of system organization.