입력 변환
Controller는 DTO와 인증 컨텍스트를 받아 유스케이스 명령으로 변환한다.
업무 규칙을 컨트롤러에 넣지 않는다Entity, Value Object, Repository를 정의로만 나열하면 Nest 코드에서 어디에 무엇을 둬야 하는지 흐려진다. Controller는 요청을 받고 Application Service는 유스케이스를 조율하며, Domain은 invariant를 지키고 Infra는 DB와 외부 시스템을 숨긴다.
Controller는 DTO와 인증 컨텍스트를 받아 유스케이스 명령으로 변환한다.
업무 규칙을 컨트롤러에 넣지 않는다Application Service는 repository, domain service, event 발행 순서를 조율한다.
트랜잭션 경계도 여기서 자주 잡힌다Entity와 Value Object는 상태 변경 규칙과 불변식을 스스로 검증한다.
빈 객체에 setter만 있으면 도메인이 약하다ORM entity, HTTP client, message broker 구현은 interface 뒤에 숨긴다.
도메인이 TypeORM decorator를 알 필요는 없다Infra 오류를 application 오류나 도메인 오류로 변환해 외부 응답을 안정화한다.
DB 에러를 그대로 노출하지 않는다