Essential Software Architecture Patterns
## 1. Event-Driven
- Systems react to events
- Execute tasks asynchronously
## 2. Monolithic
- Single-tiered architecture
- All components interconnected and centrally managed
## 3. Microservice
- Independent services
- Communicate via APIs
- Enhances modularity and scalability
## 4. Layered
- Code organized into layers (e.g., presentation, business, persistence)
- Separates concerns
- Improves maintainability
## 5. Peer-to-Peer
- Decentralized network
- Nodes act as both client and server
## 6. Primary-Replica
- Data replicated across servers
- Primary server handles writes
- Replica servers handle reads
## 7. Pipe-Filter
- Data processing elements connected in sequence
- Each element processes and passes data to the next
## 8. MVC (Model-View-Controller)
- Separates application logic into:
— Model (data)
— View (user interface)
— Controller (logic)
- Enhances modularity and testability