Backend Layered Architecture

zz1·2024년 12월 13일

Layered Architecture

코드의 역할이나 행위, 논리적인 부분을 독립된 형태로 나눠 구성한다.
한 계층의 변경이 다른 계층에 영향을 주지 않아 독립적으로 설계가 가능하고 계층을 보호할 수 있다.

Presentation Layer

사용자의 요청을 받고 응답을 반환하는 API를 정의한다.
EndPoint, Authentication, JSON Translation

Business Layer

표현 계층에서 넘어온 요청에 관한 비즈니스 로직을 구성한다.
Application Layer, Domain Layer와 성격이 비슷하다.
Business Logic, Validation, Authorization

Application Layer
전 계층과 다음 계층 사이에서 비즈니스 로직을 처리한다. DB와 직접적인 상호작용을 하지 않고, Domain Layer의 엔티티와 데이터를 처리한다.

Domain Layer
핵심 비즈니스 로직이 존재하는 계층이며 어떤 외부 관심사에도 의존하지 않는다.

Persistence Layer

데이터와 관련된 부분을 구현한다. 앞 레이어에서 데이터와 관련된 작업을 요청하면, 이 계층에서는 데이터를 읽고 쓰고 수정하는 행위를 하게 된다.
Storage Logic

특징

  • 단방향 의존성: 자기보다 하위의 레이어에만 의존한다.

참고

0개의 댓글