A system can consist of multiple styles and patterns.
Architectural Styles
A style is a family of architectures that share certain characteristics. An architectural style gives a name to a recurrent architectural design.
Examples of Architectural Styles:
- N-tier
- Microservices
Architectural Patterns
An architectural pattern is a way to solve a recurring architectural problem.
Examples of Architectural Patterns:
- Three-tier
Explain:
- What problem is the three-tier pattern solve?
Software Design Patterns
A software design pattern is a reusable solution and best practices to a recurring problem in software design.
- Model–view–controller (usually known as MVC) is a software design pattern (according to Wikipedia)
Sort the following terms:
- Single Page Application (SPA)
Some architectural patterns and styles:
- Blackboard
- Client-server (2-tier, 3-tier, n-tier, cloud computing exhibits this style)
- Component-based
- Data-centric
- Event-driven (or implicit invocation)
- Layered (or multilayered architecture)
- Microservices architecture
- Monolithic application
- Model-view-controller (MVC)
- Peer-to-peer (P2P)
- Pipes and filters
- Plug-ins
- Reactive architecture
- Representational state transfer (REST)
- Rule-based
- Service-oriented
- Shared nothing architecture
- Space-based architecture
(Source Wikipedia)
Email: FW: Cloud Design Patterns and Performance Antipatterns
- Backend Services
- Gateway Routing
- Gateway Aggregation
- Backend for Frontend
- Retry
- Circuit Breaker
- Optimized Data Read
- CQRS
- Materialized View
- Event Driven Architecture
- Publish-Subscriber
- Queue-Based Load Leveling
- Competing Consumers
- Priority Queue
- Sequential Convoy
- Support Services
- External Configuration Store
- Health Endpoint Monitoring
- Gatekeeper
- Federated Identity
- Transaction in a Distributed Environment
- Compensating Transaction
- Saga Distributed Transaction
- Migrating Legacy Systems
- Anti-Corruption Layer
- Strangler
https://medium.com/@mlbors/architectural-styles-and-architectural-patterns-c240f7df88a0
- Architectural Style
- gives a name to a recurrent Architectural Design
- It doesn’t exist to solve a problem.
- Styles: Domain Driven Design, Pipes and Filters
- Building: Architectural Style is characterized by the features that make a building notable and historically identifiable
- Architectural Patterns
- is a way to solve a recurring architectural problem
- are high-level strategies that concern large-scale components, the global properties and mechanisms of a system
- purpose is to understand how the major parts of the system fit together
- Patterns: Layered, Event Driven,
- (Software) Design Patterns
- impact a specific section of the code base
Architectural Style vs. Architectural Pattern
- A single architecture can contain several Architectural Styles, and each Architectural Style can make use of several Architectural Patterns. An Architecture Patterns can be a subset of an Architectural Styles targeting a specific scope.
Architectural Pattern vs. Design Pattern
- Architectural Patterns are similar to Design Patterns, but they have a different scope.
- Design patterns
- are accumulative best practices and experiences that software professionals used over the years to solve the general problem they faced during software development
Sources
- Differences
- Difference Between Architectural Style, Architectural Patterns and Design Patterns – GeeksforGeeks
- 10 Common Software Architectural Patterns in a nutshell | by Vijini Mallawaarachchi | Towards Data Science
- Architectural Styles vs. Architectural Patterns vs. Design Patterns – @hgraca (herbertograca.com)
- Architectural Styles and Architectural Patterns | by Mátyás Lancelot Bors | Medium
- Software Design Patterns