소프트웨어 개발에서 일반적으로 가장 많이 사용되는 아키텍처이다.
Layer의 수에 따라 N Layered Architecture라고 불려지는데 단일 소프트웨어 단위로 함께 기능하는 여러 개별 수평 Layer로 구성된 아키텍처 패턴이다. 즉, 각 Layer은 애플리케이션 내에서의 특정 역할과 관심사 별로 구분되는 것이다.

사용자의 입력을 받아 Service에 전달하고, 결과를 사용자에게 반환하는 역할.
UI 혹은 HTTP 인터페이스를 담당한다.
도메인 로직 또는 애플리케이션 로직을 처리.
여러 DAO나 외부 API를 조합해 하나의 비즈니스 흐름을 완성.
DB와 직접 연결되어 데이터 저장/조회/수정/삭제를 처리.
비즈니스 계층에서 필요한 데이터를 추출하여 제공.