コンテンツへスキップ
uencoder

Domain-Driven Design

DDD(ドメイン駆動設計)はビジネスドメインを中心とするソフトウェア設計手法であり、ユビキタス言語、境界づけられたコンテキスト、エンティティ/値オブジェクトによってモデリングする。

目的

ソフトウェアの構造をビジネスドメインに合わせ、複雑なビジネスロジックを管理する。

メカニズム

ユビキタス言語:コードにビジネス用語を使う。境界づけられたコンテキスト:モデルの境界。エンティティ(ID あり)、値オブジェクト(ID なし)、集約(整合性境界)、ドメインイベント。戦略的設計でコンテキストを分割し、戦術的設計でモデルを具体化する。

ユースケース

  • 複雑なビジネスモデリング
  • マイクロサービスの境界
  • ドメイン専門家との協働

References