## 概要
[[📚実践ドメイン駆動設計]]のラフなメモ。印象に残ったもののみを箇条書きで。
## 1章
- [[ユビキタス言語]]は[[ドメインエキスパート]]が定義する言葉ではない
- 関係者が皆で作り上げた言葉
- 結果として[[ドメインエキスパート]]の言葉が多めになることは多い
- 学んだ用語
- [[アクティブレコード]]
- [[トランザクションスクリプト]]
- [[POJO]]
- [[JavaBeans]]
> DDD とは、ドメインエキスパートのメンタルモデルを注意深く洗練させて、業務で使える有用なモデルに落とし込むことだ。現実の世界を再現するようなモデルを作ることではない。
とても大事。現実世界にこだわって作られたモデルはエッジケースが多すぎて使いにくい。
[[戦略的設計]]と[[戦術的設計]]も整理したい。
大切なこと
- [[ユビキタス言語]]を時間をかけてつくる
- [[ドメインエキスパート]]をずっと参加させる
- 開発者の考えを変えさせる
[[PKM]]は最もコスパのいい設計トレーニングなのかもしれない。
タグ見出しが実装クラスで、タイトルがインターフェースと。まあ言葉が一緒で意味が変わるのはちょっと違うか。
テストは品質を担保するためのものではない。品質担保は手段であり、後の変更容易性のためにある。
テストデータを現実的なものにしないと[[ドメインエキスパート]]が妥当性を判断できないというのは、なるほど感。
- CollabOvation
- オールインワンベース
- ProjectOvation
- アジャイル管理用
[[軽量DDD]]
[[境界づけられたコンテキスト]]
[[コンテキストマッピング]]
## 2章 ドメイン、サブドメイン、境界づけられたコンテキスト
[[ドメイン (DDD)|ドメイン]]
全部入り[[ドメイン (DDD)|ドメイン]]がアンチパターンなのは、全社用語集を作ろう!ってのがうまくいかないのに似ている。[[ドメイン (DDD)|ドメイン]]を分割することが大事、と。