DevBoi

[DDD] 컨텍스트 매핑 본문

Develop/[DDD]

[DDD] 컨텍스트 매핑

HiSmith 2023. 5. 19. 14:40
반응형

각기 다른 도메인들은 독립적으로 발전 할 수도 있지만, 상호작용해야한다.

각 접점이 존재한다. 이를 contract라고 한다.

 

- 협력형 패턴 그룹

- 사용자,제공자 그룹

- 분리형 노선

 

결재자와 수취자에 대한 개념을 모델링을 했다고 하면,

각각 다른 도메인에 있어, 다른 위치에 있지만, 의미는 같다.

이를 같은 의미인지 통역해주는 과정이 컨텍스트 매핑이다.

 

* 협력형 패턴

* 공유 영역

공유 영역이라고 하면, 라이브러리 영역을 공통으로 포함을 해서 배포를 각각 A,B를 한다.

마이크로 서비스할때는 공유 영역을 최소로 하는것이 중요하다.

 

대부분의 패턴은

공급자,소비자 패턴을 쓴다고 한다.

정보를 받을때 공급자 입장에서는 upstream,

소비자 입장에서는 downstream이라고한다.

 

 

상류의 모델에서, 가져오지만 그대로 순응하지않고

약간의 변형을 하여, 하류에서 사용하는 패턴이 있다.

ACL이라는 충돌 방지 계층을 사용하여, 상류의 내용을 변환해서 하류에서 사용한다.

이의 반대 개념으로, 상류에서 변환하여, 특정 하류에게 내려주는 것이 있다.

뭐 힘이있다고 표현할수있겠지만 무튼 하류에서는 그냥 받고, 특정 하류에 내려줄때,

아까 하류쪽에있던 ACL같은 내용이 상류쪽에 달려있는 것을 OHS라고한다. (OpenHostService)

 

총 내용을 정리하면, 아래와 같다.

 

 

 

실무에서 사용할떄는 아래와 같다.

 

각각의 도메인에서 서로 연동할떄 기본 규칙은 REST API이고,

각각의 도메인에서 필요한 도메인에게 필요한 컨텍스트에게 전달을 하는 것을 의미할 수있다.

 

도메인들의 여러 집합이 컨텍스트이고,

해당 각 다른 컨텍스트에서 컨텍스트로 전달할떄는 REST API를 통해서 서로 통신한다.

또한 동기냐 비동기냐에 따라서 실선,점선으로 매핑 구성도를 그릴수 있다.

 

반응형