Core Software Architecture Patterns

From Logic Wiki
Jump to: navigation, search


  • 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.