インタフェース

モジュール化の勉強以前にモジュールの組み合わせがいまいち分かってない感じがした。

結局、モジュールはインタフェースで分割して、インタフェースで結合するのだから、そのあたりを詰めていけばいいはず・・。なにを、どうやって、渡すか。なにを、どうやって、得るか。

変数や関数という形もインタフェースだから、どうやって、の部分は関数という形で決まってる。それを詳細に決められるのがクラスとかオブジェクトとか。あとは何を渡して、何を得るか。状態を渡して、次の状態を得るのがモナド

「状態」で実体を包むのが関数型、「役割」で状態を包むのがオブジェクト指向なのかな、とも思ってる。「まな板」という役割には「刃を通さない」とか機能があって、「清潔」とか状態がある。規格・・が、モジュール。ルール。型はどうやって、の部分。

さて、じゃあ、モジュールを組み合わせて到達したいのは最終的に「何を得るか」の部分、これが目的のはず。プログラム全体としての機能。そのプログラムの価値を決める。