layered pattern에 대한 간단한 설명

여리·2023년 3월 17일
0

목적은 각 기능별로 구분을 통하여 코드의 가독성, 사용성등의 효율을 상승하기 위함입니다.

각 레이어의 역할은 다음과 같습니다.

routes 레이어: 클라이언트에서 HTTP 요청을 받아 컨트롤러에게 전달하는 역할을 합니다.

controllers 레이어: 라우트에서 받은 요청을 비즈니스 로직을 처리하기 위한 서비스로 전달합니다.

services 레이어: 컨트롤러로부터 받은 데이터를 가공하여 데이터베이스와 상호작용하며 비즈니스 로직을 처리합니다.

repositories 레이어: 데이터베이스와의 직접적인 상호작용을 담당합니다.

models 레이어: 데이터베이스와의 연결과 데이터의 구조를 담당합니다.

이러한 역할 분담을 통해 유지보수와 확장성이 높은 코드를 작성할 수 있습니다. 또한, 데이터베이스와 HTTP 요청을 분리하여 코드의 복잡도를 낮추는 효과가 있습니다.

중요핵심 기능

  • dependent injection(의존성 주입) : 필요한 기능들끼리만 연결시켜 의존할때 다른 기능에 영향을 주지 않도록 함.
  • 단방향성 : controller -> service -> Dao로 설계함
  • 중간단계를 거치지 않는 행위는 있을 수 없음(controller에서 Dao로 바로 넘어갈 수 없음)
profile
beckend developer

0개의 댓글