DDD와 도메인 모델 판단

컨트롤러는 흐름을 받고, 애플리케이션 서비스는 조정을 맡으며, 도메인 모델은 꼭 지켜야 할 규칙을 가진다.

presentation

Controller

HTTP 입력과 응답 DTO를 다루며 규칙은 판단하지 않는다.

application

UseService의 방향

DTO를 도메인 객체로 바꾸고 리포지토리를 호출한다.

domain

엔티티, 값 객체, 애그리게이트

Order.addProduct처럼 비즈니스 규칙을 객체 안에 둔다.

repository

인터페이스 우선

도메인은 저장 기술을 몰라야 하며 port를 통해 저장소를 만난다.

context

바운디드 컨텍스트

같은 주문, 결제, 배송이라도 팀과 업무가 다르면 모델 경계를 나눈다.

도입 기준 단순 CRUD에는 과한 구조가 될 수 있으므로, 핵심 규칙이 자주 바뀌고 도메인 판단을 독립 검증해야 하는 영역부터 적용한다.