DDD Part2 まえがき

DDD勉強メモ

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

    • 複雑な状況を打開する