Description 📅 2024.08.12 - 바운디드 컨텍스트 연동
📝 학습 내용 요약
주요 주제: 바운디드 컨텍스트 간 모델을 공유하는 여러 패턴을 공유
🧠 이해한 내용
핵심 개념: 바운디드 컨텍스트도 상호작용이 필요하다. 이것을 컨트랙트(contract)라고 부른다.
협력형(cooporation) 패턴
파트너십 패턴: 한 팀은 다른 팀에게 API 변경을 알리고 다른 팀은 충돌 없이 받아들인다.
양 팀 모두 커뮤니케이션이 원할할 때 사용할 수 있는 패턴이다.
공유 커널 패턴: 공유할 수 있는 모델을 두고 각 팀이 공유 모델을 사용하는 패턴이다.
공유 모델의 변경은 다른 팀에게 영향이 갈 수 있기 때문에 신중해야 한다.
사용자 - 제공자(customer - supplier) 패턴 : 서비스 제공자는 upstream, 고객 또는 사용자는 downstream이다.
순응주의자(conformist) 패턴: 업스트림이 노출한 모델을 다운스트림이 받아들이고 사용한다.
충돌 방지 계층(ACL: anticorruption layer) 패턴: 제공자의 모델을 따르지 않고 다운스트림 핵심 하위 도메인에 맞게 변환하여 사용한다.
잦은 변경, 핵심 모델링을 방해하는 요소가 있거나, 비효율적이라고 판단되면 사용하는 것이 좋다.
오픈 호스트 서비스(OHS) 패턴: 업스트림이 다운스트림을 보호하기 위해 공표된 언어를 사용하여 여러개의 방식을 제공한다.
분리형 노선(seperated ways) 패턴: 전혀 협력하지 않는 것.
바운디드 컨텍스트 내에서 각자 연동하여 해결하는 비용이 빠르다고 판단하면 사용한다.
다음과 같은 이슈로 선택된다.
복잡한 모델
정치적인 문제로 커뮤니케이션 부재
협업 의지가 없음
❓ 궁금한 점 및 논의할 주제
질문 1: DDD가 적용되어있지 않은 조직에서도 위 패턴들 중 하나 이상은 자연스럽게 사용중일 것 같다.
각자 재직중인 회사에서는 어떤 패턴이 사용되는지 궁금하다.
🔍 추가 참고 자료
🗒 기타 메모 Reactions are currently unavailable
You can’t perform that action at this time.
📅 2024.08.12 - 바운디드 컨텍스트 연동
📝 학습 내용 요약
🧠 이해한 내용
핵심 개념: 바운디드 컨텍스트도 상호작용이 필요하다. 이것을 컨트랙트(contract)라고 부른다.
협력형(cooporation) 패턴
양 팀 모두 커뮤니케이션이 원할할 때 사용할 수 있는 패턴이다.
공유 모델의 변경은 다른 팀에게 영향이 갈 수 있기 때문에 신중해야 한다.
사용자 - 제공자(customer - supplier) 패턴: 서비스 제공자는
upstream, 고객 또는 사용자는downstream이다.잦은 변경, 핵심 모델링을 방해하는 요소가 있거나, 비효율적이라고 판단되면 사용하는 것이 좋다.
분리형 노선(seperated ways) 패턴: 전혀 협력하지 않는 것.
❓ 궁금한 점 및 논의할 주제
각자 재직중인 회사에서는 어떤 패턴이 사용되는지 궁금하다.
🔍 추가 참고 자료
🗒 기타 메모