DDD와 도메인 판단의 코드화

복잡한 비즈니스 문맥에서 쓰는 말, 규칙, 저장 추상화를 반복해서 맞추며 모델을 다듬어야 한다.

language

공통 용어 수집

도메인 전문가가 쓰는 용어를 코드와 테스트에 반영한다.

context

경계 나누기

같은 단어가 다른 뜻으로 쓰이는 지점을 기준으로 context를 나눈다.

rules

규칙 위치 결정

불변 조건과 상태 전이는 엔티티와 애그리게이트에 둔다.

ports

기술 의존 차단

Repository port로 ORM 타입이 domain에 새지 않게 한다.

rename

규칙 변화 적용

팀의 대화와 코드 용어가 계속 어긋나면 모델 이름을 바꾼다.

언어 비즈니스 용어를 클래스 이름에 붙인다.

경계 말의 뜻이 달라지는 곳에서 context를 나눈다.

규칙 흔들리지 않는 조건은 domain method에 둔다.