🗺️
概念 #DDD #戦略的設計 #サブドメイン 📚 実践ドメイン駆動設計

サブドメイン(コア・サポート・汎用)

ドメインをコア・サポート・汎用の3種に分類し、投資対効果を最大化する戦略的設計の出発点

解決する課題

大きなドメインをそのまま設計しようとすると、すべてに同じ力をかけてしまい、本当に重要な部分(競争優位)に集中できない

「注文」「在庫」「認証」「通知」を同等に扱っていると、リソースが分散して自社の強みが生まれない。

概念

ドメインを問題領域で分割したものがサブドメイン。Vernon は3種類に分類する。

種別定義投資方針
コアドメイン競争優位の源泉。ここでしか作れないECの「レコメンドアルゴリズム」「価格戦略」自前で作る。最高の人材を投入
サポートサブドメインコアを支えるが汎用ではない業務固有の機能「商品カタログ管理」「在庫追跡」自前 or アウトソース。適切なコスト
汎用サブドメインどの会社でも同じ仕組みが必要「認証・認可」「通知メール」「決済」買う(既製品・OSSを使う)

なぜ重要か

コアドメインを見極めることで:

  • 限られた開発リソースを最も価値ある場所に集中できる
  • 汎用サブドメインに Auth0・Stripe 等を使うことで時間を節約できる
  • チームの自律性と責任範囲が明確になる

背景・思想

Evans(青本)はコアドメインへの集中を説いたが、何がコアドメインかの判断基準が曖昧だった。Vernon(IDDD)はこの3分類を明示的に提示し、経営判断と技術設計を結びつけた。

「このシステムで自社が他社より優れていなければならない機能は何か?」という問いがコアドメインの特定につながる。

適用の考え方

1. ドメインエキスパートとともにドメイン全体を書き出す
2. 「これは他社でも同じか?」→ YES なら汎用
3. 「これは自社の競争優位か?」→ YES ならコア
4. それ以外はサポート

関連概念

出典: 実践ドメイン駆動設計(Vaughn Vernon)第2章