Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 2.27 KB

ch1.md

File metadata and controls

38 lines (31 loc) · 2.27 KB

CH1 知識を噛み砕く

効果的なモデリングの要素

  • モデルと実装を結びつける  (XXXXXは全く結びついてない)
  • モデルに基づいて言語を洗練する ・・・XXXXXだとXXXXX,受注情報等バラバラでモデルに基づいてない
  • 知識豊富なモデルを開発する  ・・・振る舞いとルール モデルは単なるデータスキーマではない (XXXXXのモデルは単なるデータスキーマだが、、、)
  • モデルの蒸留 ・・・ モデルの検討 → 実装 → レビュー → モデルの検討 を繰り返し事業領域の本質的な概念が浮かび上がらせる
  • ブレインストーミングと実験 ・・・上記のように会話やレビューからドメインが洗練される

知識の噛み砕き

モデルの検討 → 実装、抽象化 → レビュー を繰り返すことでドメインを深く理解できる
ドメインエキスパーと 開発者が相互に学ぶことでモデルは ドメインの知識を体系化するための道具になるらしい 


継続的学習

  • ソフトウェアを書きはじめる時、我々は対象を深く理解しているわけではない
    継続的にドメインの知識を高めていく → 最初に設計して、実装というわけではない
    (金井さんの研修でもあった)
    リファクタリングを継続して行うことでより良い設計ができる
  • 知識の流出 アウトソーシングしたら知識はドメインに関する知識が流出する ・知識豊富な設計 知識を噛み砕くことで、洞察を反映したモデルが生まれ、それを表現すべく実装をリファクタリングする 例では)ストラテジーパターンを使うことで、ドメインの重要なビジネスルールが重要であると 理解できるようになる

まとめ

  • フィードバックループを回してドメインを改善し続けよう

議論したいこと

  • ドメインが複雑でなかったり、自分たちがやるべきでない領域に関してはアウトソーシングすべきということ?
  • XXXXXでドメインの継続的な学習をするには何が必要か