https://www.youtube.com/watch?v=HgtCKlOzRiQ
10分DDDとは何か
DDDの目的
-
目的は2つ
- 機能性を高めること
- 役に立つものを作る
- 「作ったけど使えない」を避ける
- 保守性を高めること
- 長期間開発しても機能拡張が容易でありつづける
- 「技術的負債でどんどん開発速度が低下する」を避ける
-
目的を達成するためのアプローチ
- 機能性を高める
- 保守性を高める
- モデルをそのまま表現する実装
- エンティティ、リポジトリなどの実装パターン
- DDDの特徴
- 「ドメインモデル」を使って両方のアプローチがリンクすること
- 片方ずつでも効果が出るが、両方使うと大きな相乗効果が出る
-
モデルとコードの繋がり
モデリングってどうやるの?
- 「DDDだったらこれ」と一つに決まっている方法はない
- 本日紹介するモデリング手法
- 「sudoモデリング」
- 4つのモデリング手法の頭文字(後述)
- さまざまなモデリング手法から、
DDDで実装に落とし込むための最小限のラインナップ
と筆者が抽出したもの
- 複数の現場でモデリング導入支援を行い、
導入ハードルが低く効果を出しやすい
- ログラスでも現在この方法で1年半以上行い、成果が出ている
sudoモデリングとは
- 4つのモデル図を作成する
- システム関連図 (s)
- ユースケース図 (u)
- ドメインモデル図 (d)
- オブジェクト図 (o)
- 4つの図の位置付け
- 大体の場合において、この4つは書くとよい
- 必要に応じて別の種類の図も追加で作成する
sudoモデリングのサンプル
①システム関連図
②ユースケース図