🗺️
DDDアーキテクチャ・設計 2026年4月4日

コンテキストマップ

📁 概念 👁 -- 閲覧

コンテキストマップ

定義

コンテキストマップとは、プロジェクト内に存在する複数の境界づけられたコンテキスト(Bounded Context)と、それらの間の統合関係を図示したもの。各コンテキストが「上流(Upstream)」か「下流(Downstream)」かを示し、どの統合パターンで接続されているかを明確にする。

主な統合パターン

パターン説明
共有カーネル(Shared Kernel)2チームが小さなモデルの一部を共有・共同管理する
カスタマー/サプライヤー上流(サプライヤー)が提供し、下流(カスタマー)が消費する。計画は協議する
追従者(Conformist)上流モデルをそのまま取り込む。交渉力がない場合
腐敗防止層(ACL)下流が翻訳層を設け、上流モデルの汚染を防ぐ
オープンホストサービス(OHS)上流がプロトコル(API)を公開し、複数の下流が利用する
公表された言語(Published Language)OHSで使う文書化された共有スキーマ(OpenAPI等)
別々の道(Separate Ways)統合しない。それぞれ独立して解決策を持つ

なぜ重要か

コンテキストマップを描かないと:

  • どのチームがどの部分に責任を持つか曖昧になる
  • 統合の境界が暗黙的で、変更時の影響範囲が見えない
  • 「モデルの汚染」(他チームの概念が侵入する)が静かに進行する

コンテキストマップは設計の早期に描き、システムの全体像を共有するためのコミュニケーションツールとして機能する。

適用場面

  • 複数チームが並行して開発するシステムの設計を始めるとき
  • マイクロサービスの依存関係を整理するとき
  • レガシーシステムとの統合方法を設計するとき
  • チーム間のコミュニケーションが「境界」を意識できているか確認するとき

関連概念

出典

実践ドメイン駆動設計(Vaughn Vernon)第3章