Module Controller Service

Nest 구성요소 책임 분리

NestJS는 모듈이 기능을 조립하고, 컨트롤러가 요청을 받고, 서비스가 업무 규칙을 처리하는 식으로 책임을 분리합니다.

ClientHTTP 요청
Controller라우트와 입력
Service비즈니스 로직
Provider의존성 주입
01

Module

기능 단위를 묶고 컨트롤러와 프로바이더를 Nest 컨테이너에 등록합니다.

02

Controller

URL과 HTTP 메서드를 받아 어떤 서비스를 호출할지 결정합니다.

03

Service

데이터 조회, 계산, 검증 같은 업무 규칙을 담당합니다.

04

Provider

서비스나 저장소처럼 주입 가능한 객체를 공통 규칙으로 다룹니다.

설계 기준

  • 컨트롤러는 요청과 응답 형태를 다루고 긴 업무 로직은 서비스로 보냅니다.
  • 서비스가 다른 서비스에 의존하면 생성자 주입으로 관계를 드러냅니다.
  • 새 구성요소가 동작하지 않으면 먼저 Module 등록을 확인합니다.

책임 경계

Module등록
Controller입력
Service규칙
Provider주입