기능 공개 범위
imports, providers, exports를 통해 기능 단위의 의존 표면을 정합니다.
NestJS 아키텍처는 모듈이 공개 범위를 정하고, 컨트롤러가 요청을 받아 서비스 규칙으로 넘기는 책임 분리로 읽습니다.
imports, providers, exports를 통해 기능 단위의 의존 표면을 정합니다.
HTTP 경로와 DTO 검증을 얇게 처리하고 비즈니스 판단은 service로 넘깁니다.
service와 adapter를 DI 토큰으로 묶어 테스트와 구현 교체가 가능하게 둡니다.
다른 모듈에서 쓰는 provider만 export되는지 확인합니다.
구현 교체가 필요한 의존성은 명시적인 provider token을 둡니다.
controller 테스트와 service 테스트의 mock 경계를 분리합니다.