Software → Software Architecture
Layered Architecture
An architecture style that separates responsibilities into layers such as presentation, application, domain, and infrastructure.
Motivation
Layered Architecture solves the problem of separating responsibilities in an application by level of concern.
Where it fits
It belongs to software architecture and is commonly used in business applications, APIs, and monoliths.
Mental model
A typical layered system separates presentation, application logic, domain logic, and persistence. Each layer depends on lower or adjacent layers according to the chosen rules.
Common mistakes
- Creating layers that only pass data through without adding value.
- Letting persistence models dominate domain logic.
- Confusing layered architecture with clean architecture.