Responsibility Split

NestJS 코드 배치 기준

모듈, 컨트롤러, 서비스는 이름을 외우기보다 변경 이유가 다른 코드를 분리하는 기준으로 이해하면 오래 갑니다.

01

모듈

기능 묶음, imports, exports를 통해 다른 영역과의 공개 계약을 정합니다.

02

컨트롤러

경로, 메서드, 요청 파라미터를 받아 서비스 호출로 얇게 연결합니다.

03

서비스

사용자 생성, 결제 승인처럼 규칙과 상태 변경의 중심 로직을 담습니다.

04

프로바이더

레포지토리, 팩토리, 클라이언트처럼 주입 가능한 협력 객체입니다.