【どめいんもでる】
ドメインモデル とは?
最終更新:
💡 業務の概念とルールを、関係者が確かめられる形にする
対象とする業務の概念・関係・ルールを、システムの目的に合わせて整理したモデル。実装ではデータとふるまいを持つオブジェクトなどで表現し、ドメイン駆動設計(DDD)でも重視される。
📌 このページのポイント
- 対象とする業務の概念、関係、ルールを整理する
- 実装ではデータだけでなく業務上のふるまいも表現する
- 業務の全てを写すのではなく、目的や範囲に合わせて抽象化する
- 業務担当者と開発者が言葉や理解をすり合わせ、見直していく
ドメインってWebサイトの名前のこと?
ここでは、システムが扱う業務や問題の領域だよ。販売なら注文や商品、支払いなどが登場するね。その中のどの概念やルールをシステムで扱うかを整理するんだ。
データベースの設計図とは違う?
データベースのモデルは保存するデータやその関係が中心だね。ドメインモデルは「注文をキャンセルできる条件」のような業務のふるまいも扱う。保存の構造と関係はあるけれど、必ず一対一で対応するわけではないよ。
データとルールを一緒にするって?
たとえば「発送後はキャンセルできない」という仮の業務なら、注文の状態と、キャンセル時に状態を確かめるふるまいを表現するよ。これは説明用のルールで、全ての販売業務に共通する規則ではないんだ。
業務を全部そのままコードにするの?
会社全体で一つのモデルに統一する?
同じ「顧客」でも販売とサポートでは必要な情報や意味が違うことがあるよ。DDDでは境界づけられたコンテキストごとに、モデルと言葉が通じる範囲を明確にする。会社全体を無理に一つの意味へ合わせることが目的ではないね。
まとめ:ざっくりこれだけ覚えればOK!
「ドメインモデル」って出てきたら「業務の概念・関係・ルールを整理したモデル」と思えればだいたいOK!
📖 おまけ:英語の意味
「Domain Model」 = 領域モデル
💬 「domain(業務領域)」を「model(模型・型)」として表現するという意味の言葉だよ。