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

--

--