境界づけられたコンテキスト - 言葉の意味が変わる場所に境界を引く

中級 | 4分 で読める | 2026.06.14

公式ドキュメント

境界づけられたコンテキスト(Bounded Context)は、ある業務用語とモデルが同じ意味を持つ範囲です。

販売、倉庫、請求で同じ注文という言葉が別の意味とモデルを持ち、各context内では意味を統一し、境界間をAPIやAnti-Corruption Layerで変換する図

同じ言葉でも意味が違う

ECサイトの「顧客」を考えます。

コンテキスト「顧客」の意味
販売商品を選び、注文する人
請求支払い義務を持つ相手
サポート問い合わせを行う利用者

1つの巨大なCustomerへまとめず、領域ごとにモデルを持ちます。境界を越えるときに必要な情報だけを変換します。

境界内では、業務担当者と開発者が同じ言葉を同じ意味で使います。この共有語彙がユビキタス言語です。

境界を見つける手掛かり

  • 同じ言葉の意味を部署ごとに説明し直している
  • 変更理由や業務ルールが異なる
  • データの責任者や更新タイミングが異なる
  • 片方の詳細を、もう片方が知らなくても仕事が成立する

DBテーブルやサービス数から先に決めず、業務上の意味と変更理由から探します。Bounded Contextとマイクロサービスは同義ではありません。

Context Map

Context Mapは、コンテキスト間の関係を示す図です。最初は次だけで十分です。

販売 ── 注文確定情報 ──> 請求
販売 <── 在庫可否 ───── 倉庫

各矢印について、提供側、利用側、データ、同期方法、変換場所を決めます。

まとめ

  • 言葉とモデルの意味が一貫する範囲がBounded Context
  • 同語異義や変更理由の違いが、境界を見つける手掛かり
  • 境界間では共通モデルを強制せず、必要な情報を変換する
  • Context Mapで提供側・利用側・連携データを可視化する

DDD全体はドメイン駆動設計(DDD)、配置単位との違いはマイクロサービスアーキテクチャで説明します。

参考リソース

← 一覧に戻る
PR
PR
PR
PR