9.1 도메인 모델과 경계

도메인을 완벽하게 표현하는 단일 모델을 만들기는 어려움.

한 도메인은 다시 여러 하위 도메인으로 구분되기 떄문에, 한 개 모델로 여러 하위 도메인을 모두 표현하려고 시도하면 오히려 모든 하위 도메인에 맞지 않는 모델을 만들게 됨

예를 들어, 상품 모델은 카탈로그에서 상품과 재고 관리에서 상품, 주문에서 상품, 배송에서 상품이 이름만 같지 실제로 의미하는 것이 다름.

논리적으로 같은 존재처럼 보이지만 하위 도메인에 따라 다른 용어를 사용하는 경우도 존재

하위 도메인 마다 같은 용어라도 의미가 다르고, 같은 대상이어도 용어가 다를 수 있기 때문에 올바른 도메인 모델을 개발하려면 하위 도메인 마다 모델을 만들어야함.

모델은 특정한 컨텍스트(문맥) 하에서 완전한 의미를 갖음.

같은 제품이라도 카탈로그 컨텍스트와 재고 컨텍스트에서 의미가 다름.

이렇게 구분되는 경계를 갖는 컨텍스트를 DDD에서는 바운디드 컨텍스트(Bounded Context)라고 함.