Architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture. It is a commonality at higher level than a design pattern.
- Architectural style is the application design at the highest level of abstraction. It specifies layers, high-level modules and the relations between them. Examples:
– Client- Server - Architectural pattern is a structural organization of software system. It is a way to implement an architectural style. Examples:
– MVC
– MVVM - Design patterns solve reoccurring problems in software construction. Examples:
– Strategy
– Abstract Factory - Programming paradigms are specific to the programming language. Examples:
– Open Closed Principle
– Single Responsibility Principle
The main difference between architectural style, architectural pattern and design pattern is the scope.