これまでの第十章
攻める角度
これらのテクニックをどこから攻めるか。システム全体を見て全体をしなやかな設計にしようとしても難しい。
サブドメインを切り取る
いつだって、問題を小さく分けることは最適解への近道。一部を切り取る。どう切り取るかがポイントですね。
① モデルの一部が数学とみなせる部分を抜き出す
例では、シンジゲートローンシステムのシェアパイの計算を例に上げられています。
そういった、数学に対応できる箇所はimmutableにしやすいですし、これまでのパターンを適用しやすいですね。
② 状態の変更を制限するような複雑なルールを抜き出す
③ 確立された概念体系を利用する
例えば、会計・決済や数学など。既に十分に概念が利用されているものを活用する。
または、以前のプロジェクトなどで扱ってきたドメインを再利用することも有効かと思います。
④ ①②③から残った部分も小さく整理される
こうした、サブドメインを切り出して管理していく具体的な方法は15章「蒸留」で読んでいくことになります。
また、サブドメインを切り出すことで、アプリケーションのコアになる部分、ビジネスの価値の中心となる部分がさらに蒸留されていくことになります。ここも15章での話題になるところですね。