ドメイン駆動設計(DDD) (ドメイン、ドメインモデル、ドメインロジック、ユビキタス言語)

更新日:

用語解説

ドメイン駆動設計(DDD)は、複雑な業務領域の知識を中心に、専門家と開発者が共通言語でモデルを育て、そのモデルをソフトウェア設計へ直接反映する考え方です。

■ 試験で押さえるポイント

  • ドメインは対象業務領域、ドメインモデルは重要概念・関係・規則の抽象、ドメインロジックは業務固有の判断・制約です。

  • ユビキタス言語は専門家と開発者が会話、要求、図、コード、テストで一貫して使い、曖昧さを発見しながら更新する言葉です。

  • 大きなモデルを境界づけられたコンテキストへ分け、同じ語でも文脈ごとの意味を明確にし、コンテキスト間の関係を設計します。

  • エンティティ、値オブジェクト、集約、リポジトリ、ドメインサービス等を使いますが、単に特定の層構成を採用することがDDDではありません。

■ 選択肢での判断ポイント

業務知識、ドメインモデル、ドメインロジック、ユビキタス言語、境界づけられたコンテキストを対応付けます。

例: 「顧客」が販売では購入者、配送では受取先を意味するなら、各コンテキストのモデルを分け、共通語の定義と連携データを明示します。

音声で聞く

同じ分野の用語