콘텐츠로 바로가기

DDD Bounded Context

도메인 모델이 일관된 의미를 유지하는 명시적 경계. 경계 안에서 Ubiquitous Language가 적용된다. 도메인 전문가와 개발자가 동일한 언어로 소통. 코드·문서·대화 모두 동일 용어 사용. 예: "Order"라는 단어가 영업 컨텍스트에서는 '고객 주문',...

sys.entry
M

Me

hyunyoun's Blog

software-engineering-devops1 min read

DDD Bounded Context

도메인 모델이 일관된 의미를 유지하는 명시적 경계. 경계 안에서 Ubiquitous Language가 적용된다.

Ubiquitous Language

도메인 전문가와 개발자가 동일한 언어로 소통. 코드·문서·대화 모두 동일 용어 사용.

예: "Order"라는 단어가 영업 컨텍스트에서는 '고객 주문', 창고 컨텍스트에서는 '출고 요청'으로 다를 수 있음 → 각 Bounded Context에서 별도로 모델링.

Context Map — 컨텍스트 간 관계 유형

패턴 설명
Shared Kernel 일부 모델 공유, 협력 필요
Customer/Supplier 다운스트림이 업스트림에 요구사항 제시
Conformist 다운스트림이 업스트림 모델을 그대로 수용
Anti-Corruption Layer 외부 모델을 내부 모델로 변환하는 번역 레이어
Published Language 공개 표준 인터페이스(API 스펙)로 통신

마이크로서비스와의 관계

이상적으로 Bounded Context = 마이크로서비스 1개. 단, 작은 컨텍스트를 하나의 서비스로 합칠 수도 있음.

경계를 서비스 분리 전에 먼저 도메인 모델에서 식별하는 것이 올바른 순서.

연결 노트