In Software Architecture - Foundations, Theory and Practice, I can find definitions for both. The problem is that I don\'t get what each one of them means in plain Engl
Architectural styles are names which represent the broader organizations of your applications subsystems and depict the idea of the overall outline of the it. Examples are, SOA
, Client/Server
, Message Bus
etc.
Architectural patterns are names of the reusable solutions to the general architectural problems which give an idea of how the inner parts are implemented to solve them. Examples are, 2-Tier
, 3-Tier
, N-Tier
, MVC
, REST
etc.
One style can use multiple patterns to solve multiple problems. For example, a Client/Server style can use an N-Tier pattern or(and) an MVC pattern for separating its business logic, presentation logic and data logic for introducing modularity which solves modifiability
and maintainability
problems.