개발자들이여 제발 도메인 전문가 좀 찾아가세요
*by Vaughn Vernon*
Domain이 뭘까 ?
Domain은 정의역 Co-domain은 공역을 이야기한다.
- 예를 들면 배달의 민족에서 배달은 도메인이다.
- 그외에는 수많은 공역들이 존재한다 (co-domain)
배달의 민족 예시
- 배달(domain)
- 가게, 광고, 주문, 결재, 배달, 정산(sub-domain)
Problem Space와 Solution Space
- DDD에서는 조직의 비즈니스를 도메인으로 규정한다.
- 그 중에 중요한 부분을 핵심 도메인, 그외에는 지원 도메인으로 본다. 이 부분이 소위 일컫는 Problem space가 된다.
비즈니스로직
- 발명, 발견
- 일관성 원칙 → 대체로 잘 안되는 부분
프로그램의 복잡성
- 우연히 여러사람이 고치다보면 생기는 복잡함
- 본질적인 도메인이 복잡하고, 비즈니스 자체의 문제
- 우리가 해결해야하는 문제
- 통제를 통해서, 추상화를 해서 레이어링을 해서 해결
Domain Model
- 추상화를 통해서 본질 외의 것을 제거
- 지도를 예시로 들면 지도는 도메인 모델 <> 현실은 도메인이다.