Interface
Controller / DTO
HTTP, 인증, 입력 형식을 command로 바꾼다.
DDD에서 중요한 것은 module 이름이 아니라, 어떤 말과 규칙이 어느 책임으로 새고 있는지 찾는 일이다.
Interface
HTTP, 인증, 입력 형식을 command로 바꾼다.
Application
흐름과 트랜잭션을 조정하고 도메인 규칙 판단은 넘긴다.
Domain
상태 전이, 불변식, 업무 언어를 직접 가진다.
Infrastructure
Prisma, TypeORM, 외부 API 구현을 contract 뒤에 숨긴다.
| 영역 | 새는 신호 | 정리 대상 |
|---|---|---|
| 언어 ubiquitous language | command, event 이름이 업무 말을 잃음 | bounded context를 나누고 용어 통일 |
| 규칙 aggregate invariant | aggregate method가 외부 타입에 의존 | 규칙을 domain method로 event로 이동 |
| 의존성 repository contract | domain 테스트가 DB adapter 없이 어려움 | port와 mapper로 외부 shape 차단 |
나쁜 징후 controller DTO, Prisma model, 외부 API 응답이 aggregate까지 들어오면 domain layer는 이름뿐이고 변경 비용은 그대로 남는다.