반응형
BOUNDED CONTEXT
- 도메인마다 같은 용어라도 의미가 다르고 같은 대상이라도 저장하는 용어가 다를 수 있다.
- 그러므로 도메인을 완벽하게 표현하는 단일 모델을 만드는 것은 불가능 하다.
- 모델은 특정한 컨텍스트(문맥)하에서 완전한 의미를 갖는다.
- 이렇게 구분되는 경계를 갖는 컨텍스트를 DDD에서는 BOUNDED CONTEXT라고 부른다.
- BOUNDED CONTEXT는 모델의 경계를 결정하며 한 개의 BOUNDED CONTEXT는 논리적으로 한 개의 모델을 갖는다., 하지만 그렇지 않은 경우가 많다.
- BOUNDED CONTEXT는 각자 구현하는 하위 도메인에 맞는 모델을 갖는다.
조직 구조에 따라 BOUNDED CONTEXT 결정
- 예를 들어, 주문 하위 도메인이라도 주문을 처리하는 팀과 복잡한 결제 금액 계산 로직을 구현하는 팀이 있다고 하면 주문 BOUNDED CONTEXT와 결제 금액 BOUNDED CONTEXT가 존재하게 된다.
- 아직 명확하게 구분되지 않은 경우 두 하위 도메인을 한 BOUNDED COUNTEXT에서 구현하기도 한다.
- 규모가 작은 기업은 전체 시스템을 한 개 팀에서 구현할 때도 있다.
- 이런 경우에는 하위 도메인 마다 구분되는 패키지를 갖도록 구현해야 한다.

BOUNDED CONTEXT의 구현
- BOUNDED CONTEXT가 도메인 모델만 포함하는 것은 아니다.
- 도메인 모델뿐만 아니라 기능을 사용자에게 제공하는 데 필요한 표현 영역, 응용 서비스, 인프라 영역 등을 모두 포함한다.
- 모든 BOUNDED CONTEXT를 반드시 도메인 주도로 개발할 필요는 없다.
- 복잡하지 않은 기본 CRUD 기능만 사용할 경우 CRUD 방식으로 구현해도 된다.
- 각 BOUNDED CONTEXT는 서로 다른 구현 기술을 사용할 수 도 있다.
- BOUNDED CONTEXT가 다른 서비스에서 REST API로 호출한다고 하면, 사용자에게 보여지는 UI를 꼭 가져가야 하는것은 아니다.
반응형
'DDD' 카테고리의 다른 글
엔티티(Entity)와 밸류(Value)란? (0) | 2021.09.14 |
---|---|
BOUNDED CONTEXT 간 통합 (0) | 2021.09.14 |
BOUNDED CONTEXT 간 관계 (0) | 2021.09.14 |
좋은 의존성을 구성하라! (0) | 2021.09.14 |
애그리거트(Aggregate)란? (0) | 2021.09.13 |
반응형
BOUNDED CONTEXT
- 도메인마다 같은 용어라도 의미가 다르고 같은 대상이라도 저장하는 용어가 다를 수 있다.
- 그러므로 도메인을 완벽하게 표현하는 단일 모델을 만드는 것은 불가능 하다.
- 모델은 특정한 컨텍스트(문맥)하에서 완전한 의미를 갖는다.
- 이렇게 구분되는 경계를 갖는 컨텍스트를 DDD에서는 BOUNDED CONTEXT라고 부른다.
- BOUNDED CONTEXT는 모델의 경계를 결정하며 한 개의 BOUNDED CONTEXT는 논리적으로 한 개의 모델을 갖는다., 하지만 그렇지 않은 경우가 많다.
- BOUNDED CONTEXT는 각자 구현하는 하위 도메인에 맞는 모델을 갖는다.
조직 구조에 따라 BOUNDED CONTEXT 결정
- 예를 들어, 주문 하위 도메인이라도 주문을 처리하는 팀과 복잡한 결제 금액 계산 로직을 구현하는 팀이 있다고 하면 주문 BOUNDED CONTEXT와 결제 금액 BOUNDED CONTEXT가 존재하게 된다.
- 아직 명확하게 구분되지 않은 경우 두 하위 도메인을 한 BOUNDED COUNTEXT에서 구현하기도 한다.
- 규모가 작은 기업은 전체 시스템을 한 개 팀에서 구현할 때도 있다.
- 이런 경우에는 하위 도메인 마다 구분되는 패키지를 갖도록 구현해야 한다.

BOUNDED CONTEXT의 구현
- BOUNDED CONTEXT가 도메인 모델만 포함하는 것은 아니다.
- 도메인 모델뿐만 아니라 기능을 사용자에게 제공하는 데 필요한 표현 영역, 응용 서비스, 인프라 영역 등을 모두 포함한다.
- 모든 BOUNDED CONTEXT를 반드시 도메인 주도로 개발할 필요는 없다.
- 복잡하지 않은 기본 CRUD 기능만 사용할 경우 CRUD 방식으로 구현해도 된다.
- 각 BOUNDED CONTEXT는 서로 다른 구현 기술을 사용할 수 도 있다.
- BOUNDED CONTEXT가 다른 서비스에서 REST API로 호출한다고 하면, 사용자에게 보여지는 UI를 꼭 가져가야 하는것은 아니다.
반응형
'DDD' 카테고리의 다른 글
엔티티(Entity)와 밸류(Value)란? (0) | 2021.09.14 |
---|---|
BOUNDED CONTEXT 간 통합 (0) | 2021.09.14 |
BOUNDED CONTEXT 간 관계 (0) | 2021.09.14 |
좋은 의존성을 구성하라! (0) | 2021.09.14 |
애그리거트(Aggregate)란? (0) | 2021.09.13 |