[도메인 주도 설계 핵심] 3장 서브도메인과 전략적 설계
21 Mar 2020서브도메인은 무엇인가
거대한 프로젝트를 이해 가능한 논리적인 묶음으로 나눈것
일반적인 프로젝트의 구조
- bounded context - 서브도메인
- bounded context - 서브도메인(핵심 도메인)
- bounded context - 서브도메인
- bounded context - 서브도메인
bounded context와 subdomain은 1:1 관계여야 한다.
bounded context안에 다른 모델을 만들어야 할 경우
- 핵심 도메인에서 분리된 모듈 형태로 별도의 영역(자바의 패키지, c#의 네임스페이스)에 정의한다.
프로젝트 이미지
서브 도메인의 유형
핵심 도메인
- 프로젝트에서 가장 중요한 도메인
- 예)애자일 프로젝트 관리 컨텍스트
지원 서브도메인
- 핵심 도메인을 지원하는데 꼭 필요한 도메인
- 예)협업 컨텍스트
일반 서브도메인
- 예)식별과 접근 컨텍스트
복잡성 다루기
- 우리가 하려는 비즈니스 도메인 안에 레거시 시스템이 포함될 경우
- 레거시 시스템이 진흙 덩어리인 경우
- 논리적으로 구분짓고 이것을 서브도메인으로 생각해볼 수 있다
- 논리적 서브도메인이 시스템 복잡도를 해결에 도움을 줄 수있다