DDD 계층은 무엇을 결정하는지로 나눈다

컨트롤러는 요청을 받고, 애플리케이션 서비스는 흐름을 조율하며, 도메인 모델은 비즈니스 규칙을 지켜야 한다.

language

유비쿼터스 언어

팀이 같은 말로 업무가 달라지는 순간을 설명한다.

context

바운디드 컨텍스트

같은 단어라도 영역마다 의미가 다르면 경계를 나눈다.

domain

도메인 모델

상태 변경과 규칙을 객체가 직접 판단하게 둔다.

repo

리포지토리 추상화

저장 기술은 port 뒤로 숨기고 domain이 ORM을 모르게 한다.

app

애플리케이션 흐름

트랜잭션, 호출 순서, 외부 시스템 호출은 use case에 둔다.

단순 CRUD라면 DDD가 구조 비용만 늘릴 수 있다.

계층 테스트가 내부 판단을 독립적으로 확인하는가?

CQRS와 이벤트가 도메인 상태와 외부 갱신 책임을 분리하는가?