Baby steps to migratory bird

元半導体系エンジニア、今Webエンジニアの雑記

【参加メモ】第一回 エリック・エヴァンスのドメイン駆動設計 読書会

最近DDDの勉強会をよく見るなぁ、と機運が高まっていたので参加

evans-ddd-book-read.connpass.com

今回は初回ということで全体構成の紹介とまえがき・第1章の解説でした。

主催者の@moaieeeさんが時折笑いを交えながら、全体的に緩やかな雰囲気で進められました。

詳細な説明よりは、イメージを掴んでもらうようなゆるいスタイルの解説的な感じで進みそう(な予感)です。

全体構成

1,2部の話は正直つまらないかも、とのこと

自分の理解度に応じて参加回を決めてOK

  • 1部 用語の定義と動きの紹介
  • 2部 モデル駆動開発の基本構成の紹介
  • 3部 実用的なモデルの設計と実装の話
  • 4部 より大規模な設計の話

まえがき

  • モデルとは何か?

    あるものを抽象化したもの

image.png (109.8 kB)

  • モデルを蒸留する

    モデルまでだけでなく、実装までやってくぞ、という話

第1章

構成

  • やり方

    モデルを取り出す5つのポイント

  • モデル化

    モデルを取り出す流れ

      PCB回路の例
    
  • 実装化

    モデルを適用したコード

      貨物の運搬の例
    
  • モデルを取り出す

    〜知識を噛み砕く〜

PCB回路の例

  • ヒアリングから徐々にモデルを作り出していく

  • 人により言葉の定義が違う

  • ヒアリングを進めるうちに目的が曖昧になりがち。。

    →実は、回路の遅延回数を知りたい。それを表すモデルが欲しいことがわかる。

  • ここでは何が言いたかった(と思われる)こと

    設計者へのヒアリングを繰り返すことで、知識を噛み砕き、 モデルを洗練させていきましたよ、という例。

  • 最初から完璧なモデルはできないので、継続的な学習により深いモデルが出来上がっていく。

【参考】

船に載せる貨物の例

最初の簡単な例を作る
(航海に貨物を載せる)
↓
制限の追加
(最大予約数を実装に反映)
↓
新たな制限の追加
(さらに実装に反映)
↓
(洗練を繰り返す)

【参考】

早くも2回目が公開されてる

evans-ddd-book-read.connpass.com

こちらも気になる ddd-community-jp.connpass.com