外側に近いモジュールほど一方通行のストーリーを作る
#プログラミング #関心事の分離 #設計 #設計原則
一番外側のモジュールの制御フローの理想形
関数のパイプラインまたはオブジェクトの自己完結な振る舞いによるストーリーになっている
ストーリーが問題領域にとって意味のある振る舞いになっている
ストーリーがビジネス要求と近い
実装を知らないBIZ Teamがなんとなくで読めるレベル
命令型プログラミングと宣言型プログラミングの対比ともなる
宣言型は、Whatがどう作用するかのストーリーを記述する
データ構造を内側で守る
振る舞いや副作用, 実装詳細(private)はカプセル化する
オブジェクト指向的な話というよりは、データ構造と振る舞いを切り離すということ
副作用起こすなら戻り値返すな
戻り値返すなら副作用起こすな
中間状態を外側に作らない
一方通行のストーリーを作る
サービス(Service)かPipeline Operatorなどでステートレスにする
SLAP原則やデメテルの法則を守る
尋ねるな、命じろ (Tell, Don't Ask)
「それがなにか」(What)と「どうするか」(How)の分離