레이어드 아키텍처 패턴은 고전적으로 대중적인 아키텍처 패턴이며 프로젠테이션 계층, 비즈니스 계층, 퍼시스턴트 계층으로 구성된다.
각 계층이 역할에 따라 독립적으로 나뉘어 코드의 확장성이 높고 코드의 구조를 파악하기 쉽고 재사용이 가능하다.
Top-Down 방식으로 하위 계층으로 단방향 의존성을 가진다.
Presentation Layer
- 클라이언트 시스템과 연결되는 부분으로 백엔드 API에서는 앤드포인트 부분에 해당하고 웹사이트에서는 UI에 해당
- REST API의 엔드포인트를 정의하고 HTTP 요청을 읽는 로직을 구현
Business Layer
- 비즈니스 로직을 구현하는 부분으로 실제 시스템에서 처리 되어야하는 로직을 구현
Persistence Layer
- 데이터베이스와 관련된 로직을 구현하며 데이터 CRUD를 처리
대규모 시스템의 경우 계층 간의 관리와 유지보수가 복잡해질 수 있어 소규모 시스템을 개발할때 사용하기 좋다.
계층간 통신을 통해 동작하기 때문에 데이터 전달 및 변환 과정에서 일부 오버헤드가 발생할 수 있다.