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