The Building Blocks of a Model-Driven Design
-
実装を簡潔かつ明瞭に、モデルと足並みそろったものに保つ
-
個々の要素を注意して設計することが必要
- モデルと実装とが互いに強化しあうようになる
- モデリングの基盤
-
-
本書のよりどころ
-
責務駆動設計
- Wirfs-Brockら
-
契約による設計
- Meyer
- OOP
-
-
プロジェクトがうまくゆかず、上記のような設計原則が
「実用的ではないのでは?」と思うことがある-
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
- 複雑な状況を打開する