2021年11月12日(金曜日)
■概要
ソフトウェア開発手法のひとつであるドメイン駆動設計について、
メリットや方法を中心に解説
■DDD(ドメイン駆動設計)とは
ドメインを駆動する設計
・ドメイン(domain)とは:問題解決における領域
ex) 図書の貸し出し、銀行のお金の管理など
・駆動(driven)とは:より良い状態で動かす
・設計(design)とは:モデリング
→問題解決にあたって必要なことのみを厳密に選び抜いた表現
★対象とする問題領域をモデリングし、
品質の良いソフトウェアを開発する手法
→モデリングが中途半端で、問題が解決しきれず失敗するシステムが多い
■メリット
・保守性:技術的負債により改修の難易度が上がることを防げる
ユニットテストが書きやすくなる
・機能性:不要な機能の実装を防げる
→長期で問題解決ができるソフトウェアを作り続けられる
■DDDの方法
・ユビキタス言語(共通言語)を決める
・システム関連図の作成
・ユースケース図の作成
・ドメインモデル図・オブジェクト図の作成
・ソースへの反映
ソフトウェア開発手法のひとつであるドメイン駆動設計について、
メリットや方法を中心に解説
■DDD(ドメイン駆動設計)とは
ドメインを駆動する設計
・ドメイン(domain)とは:問題解決における領域
ex) 図書の貸し出し、銀行のお金の管理など
・駆動(driven)とは:より良い状態で動かす
・設計(design)とは:モデリング
→問題解決にあたって必要なことのみを厳密に選び抜いた表現
★対象とする問題領域をモデリングし、
品質の良いソフトウェアを開発する手法
→モデリングが中途半端で、問題が解決しきれず失敗するシステムが多い
■メリット
・保守性:技術的負債により改修の難易度が上がることを防げる
ユニットテストが書きやすくなる
・機能性:不要な機能の実装を防げる
→長期で問題解決ができるソフトウェアを作り続けられる
■DDDの方法
・ユビキタス言語(共通言語)を決める
・システム関連図の作成
・ユースケース図の作成
・ドメインモデル図・オブジェクト図の作成
・ソースへの反映