DDD Part2 まえがき
The Building Blocks of a Model-Driven Design
- 実装を簡潔かつ明瞭に、モデルと足並みそろったものに保つ
- 個々の要素を注意して設計することが必要
- モデルと実装とが互いに強化しあうようになる
- モデリングの基盤
- 個々の要素を注意して設計することが必要
- 本書のよりどころ
- 責務駆動設計
- Wirfs-Brockら
- 契約による設計
- Meyer
- OOP
- 責務駆動設計
- プロジェクトがうまくゆかず、上記のような設計原則が
「実用的ではないのでは?」と思うことがある- DDDを再び軌道に乗せるには、各原則が「どのように」モデル駆動設計を支えているか知る必要あり
- あらぬ方向に進まずに適切な形で妥協できるようになる
- DDDを再び軌道に乗せるには、各原則が「どのように」モデル駆動設計を支えているか知る必要あり
- デザインパターンを標準化し、共有する
- チームメンバー間で成果を理解しやすく
- ユビキタス言語に加えるとよい
- よいドメインモデルをつくることは「芸術」である
- 一方、モデルの各要素に基づいて設計や実装を行うのは「体系的」である
- きまったやり方がある、ということ
- 設計を、実装にまつわる他のあらゆる関心事から分離する
- 設計とモデルとの結びつきの明確化
- モデルの構成要素を、標準化された分類に割り当てる
- p.65の分類
- 責務や意味が明確になる
- 実装に役立つという実績がある分類
- 基本に忠実に、モデルの各要素を作りこむ
- 自信をもって組み立てらせるよう
英語
- crisp
- (of a way of speaking) briskly decisive and matter-of-fact, without hesitation or unnecessary detail.
- briskly
- In an active, quick, or energetic way.
- lockstep
- A way of marching with each person as close as possible to the one in front.
- in lockstep で「足並みそろえて」
- resilient
- (of a person or animal) able to withstand or recover quickly from difficult conditions.
- elaborate
- nvolving many carefully arranged parts or details; detailed and complicated in design and planning.
- cut through complexity
- 複雑な状況を打開する