Context Mapping Patterns

2025-08-03

Context Mapping은 서로 다른 Bounded Context 간의 관계를 정의하는 방법이다.

https://github.com/ddd-crew/context-mapping 레포지토리에서 Context Mapping의 여러 전략을 소개한다.

Open Host Service

특정 Bounded Context(업스트림)가 다른 Bounded Context(다운스트림)에게 기능을 표준화하여 제공하는 방식

Conformist

다운스트림 Bounded Context가 업스트림 Bounded Context에 강하게 의존하여 모델을 그대로 사용하는 방식

ACL (Anti-Corruption Layer)

업스트림 Bounded Context의 복잡한 모델을 다운스트림 Bounded Context에 맞게 변환시켜주는 다운스트림 앞단 레이어

Shared Kernal

여러 Bounded Context가 비즈니스 모델의 스키마를 공유하는 방식

Partnership

여러 Bounded Context가 함께 도메인 모델을 개발하는 방식

Customer / Supplier Development

다운스트림의 Bounded Context의 요구사항이 업스트림 Bounded Context 개발 과정에 반영되는 방식

Published Language

Bounded Context 간의 통신을 위해 Published Language(JSON, XML, OpenAPI, 프로토콜 등)를 사용하는 방식

Separate Ways

두 Bounded Context의 상호작용이 필요 없어 독립적으로 분리해서 개발하는 방식

Big Ball Of Mud

Bounded Context 간의 경계가 모호하고, 로직이 뒤죽박죽 섞여서 아무도 전체 시스템을 이해하거나 수정하기 어려워지는 안티 패턴


https://github.com/ddd-crew/context-mapping