본문 바로가기

Architecture

레이어드 아키텍처(Layered Architecture)

레이어드 아키텍처 패턴은 고전적으로 대중적인 아키텍처 패턴이며 프로젠테이션 계층, 비즈니스 계층, 퍼시스턴트 계층으로 구성된다.

각 계층이 역할에 따라 독립적으로 나뉘어 코드의 확장성이 높고 코드의 구조를 파악하기 쉽고 재사용이 가능하다.

Top-Down 방식으로 하위 계층으로 단방향 의존성을 가진다.

 

Presentation Layer

  • 클라이언트 시스템과 연결되는 부분으로 백엔드 API에서는 앤드포인트 부분에 해당하고 웹사이트에서는 UI에 해당
  • REST API의 엔드포인트를 정의하고 HTTP 요청을 읽는 로직을 구현

Business Layer

  • 비즈니스 로직을 구현하는 부분으로 실제 시스템에서 처리 되어야하는 로직을 구현

Persistence Layer

  • 데이터베이스와 관련된 로직을 구현하며 데이터 CRUD를 처리

대규모 시스템의 경우 계층 간의 관리와 유지보수가 복잡해질 수 있어 소규모 시스템을 개발할때 사용하기 좋다.

계층간 통신을 통해 동작하기 때문에 데이터 전달 및 변환 과정에서 일부 오버헤드가 발생할 수 있다.