勉強日記

チラ裏

DDD Part2 まえがき

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
    • 複雑な状況を打開する