DDD / Chapter Fifteen. Distillation


Distillation (P?)

マクスウェル方程式
これら四つの方程式は、19世紀の古典電磁気学のすべてを表現している。

どのように問題の中心にフォーカスするか?
LAYERED ARCHITECTUREは、コンピュータシステムを動作させるような技術的な論理から、ドメイン概念を切り離してくれるが、巨大なシステムでは、切り離されたドメイン自体が手に負えないぐらい複雑になる。

Distillation(蒸留)は、本質を抽出するためのプロセスである。モデルは、知識の蒸留である。より深い洞察へのリファクタリングで、ドメインの知識の重要な点と優先すべき点を抽出できる。

多くの化学的蒸留と同様に、切り離された副産物はそれ自体、蒸留のプロセスでより価値あるものになるが(GENERIC SUBDOMAINSやCOHERENT MECHANISMSのように)、そのためには、ソフトウエアを見分け、CORE DOMAINを構築できるように特に価値ある部分を抽出したいという動機が必要となる。

ドメインモデルの戦略的蒸留には、以下のすべてを行なう。

  1. 全チームメンバーがシステム全体の設計を理解できるよう支援すること
  2. 扱いやすい大きさのコアのモデルを識別することで、UBIQUITOUS LANGUAGEを使ったコミュニケーションを促進すること
  3. リファクタリングをガイドすること
  4. 最も価値あるモデルの部分に集中すること
  5. アウトソーシングや既製のコンポーネント、割当についての決定をガイドすること

この章では、CORE DOMAINの戦略的蒸留への体系的アプローチを明らかにし、チーム内で見解を効果的に共有し、話し合うための言語を提供する。

庭師が木を刈り込むように、メインの幹の成長への道を明確にして、モデルにおける余計なものを切り取る一連のテクニックを適用していくことにする。

担当者のつぶやき

みんなの突っ込み


まとめ (議事録)