NestJS 구조화는 요청, 규칙, 조립, 운영 정책을 같은 경계에 붙잡는다
역할 분리는 코드 배치가 아니라 변경 비용 관리다. 새 기능, 테스트, 장애 대응이 어디서 일어나는지 고정한다.
| 상황 | 놓을 위치 | 효과 | 운영 의미 |
|---|---|---|---|
| 새 엔드포인트요청 추가 | Controller는 요청 모양, Provider는 규칙 | 기존 업무 로직을 덜 흔듦 | status code와 validation이 일정함 |
| 테스트 작성경계별 검증 | Controller test와 Provider test 분리 | DB/외부 API를 대체해 규칙만 검증 | 장애 위치를 빠르게 좁힘 |
| 공통 정책로그, 예외, 재시도 | Module과 provider 경계 | 같은 패턴을 반복 적용 | 확장돼도 정책 위치가 유지됨 |
해석: NestJS를 고르는 이유는 데코레이터 자체가 아니라 서버가 커져도 요청·로직·조립 책임을 붙잡아 두는 기본값이다.