An Architectural Pattern is a reusable high-level solution for organizing software components and their relationships.
Architectural patterns help teams discuss tradeoffs in scalability, maintainability, integration, deployment, and responsibility boundaries.
Related concepts include Software Architecture, Design Pattern and Software Cohesion.