Core Software Architecture Patterns
From Logic Wiki
- Layered Architecture (N-tier): Organizes applications into horizontal layers (presentation, business, data) for separation of concerns and maintainability.
- Microservices Architecture: Structures an application as a set of small, autonomous, and independently deployable services, improving scalability.
- Event-Driven Architecture: Uses asynchronous, decoupled components that react to events, supporting high-performance systems.
- Model-View-Controller (MVC): Separates application data (Model), user interface (View), and control logic (Controller).
- Client-Server Architecture: Divides tasks between service providers (servers) and service requestors (clients).
- Pipe and Filter Architecture: Breaks down a system into independent, reusable components (filters) that transform data, passed along pipes.
- Space-Based Architecture: Designed for high scalability and throughput, often used to handle user load spikes.
Key Benefits
- Increased Productivity: Reusable solutions prevent, in many cases, having to start from scratch.
- Better Communication: Provides a shared vocabulary for architects and developers.
- Improved Quality: Leads to more maintainable and scalable code.