IT資格用語解説基本情報技術者試験・ソフトウェア設計手法
ドメイン駆動設計(DDD) (ドメイン、ドメインモデル、ドメインロジック、ユビキタス言語)
更新日:
用語解説
ドメイン駆動設計(DDD)は、複雑な業務領域の知識を中心に、専門家と開発者が共通言語でモデルを育て、そのモデルをソフトウェア設計へ直接反映する考え方です。
■ 試験で押さえるポイント
ドメインは対象業務領域、ドメインモデルは重要概念・関係・規則の抽象、ドメインロジックは業務固有の判断・制約です。
ユビキタス言語は専門家と開発者が会話、要求、図、コード、テストで一貫して使い、曖昧さを発見しながら更新する言葉です。
大きなモデルを境界づけられたコンテキストへ分け、同じ語でも文脈ごとの意味を明確にし、コンテキスト間の関係を設計します。
エンティティ、値オブジェクト、集約、リポジトリ、ドメインサービス等を使いますが、単に特定の層構成を採用することがDDDではありません。
■ 選択肢での判断ポイント
業務知識、ドメインモデル、ドメインロジック、ユビキタス言語、境界づけられたコンテキストを対応付けます。
例: 「顧客」が販売では購入者、配送では受取先を意味するなら、各コンテキストのモデルを分け、共通語の定義と連携データを明示します。