Domain-Driven Design
DDD(ドメイン駆動設計)はビジネスドメインを中心とするソフトウェア設計手法であり、ユビキタス言語、境界づけられたコンテキスト、エンティティ/値オブジェクトによってモデリングする。
目的
ソフトウェアの構造をビジネスドメインに合わせ、複雑なビジネスロジックを管理する。
メカニズム
ユビキタス言語:コードにビジネス用語を使う。境界づけられたコンテキスト:モデルの境界。エンティティ(ID あり)、値オブジェクト(ID なし)、集約(整合性境界)、ドメインイベント。戦略的設計でコンテキストを分割し、戦術的設計でモデルを具体化する。
ユースケース
- 複雑なビジネスモデリング
- マイクロサービスの境界
- ドメイン専門家との協働