第6章 関数型プログラミング
関数型言語の変数は変化しない
競合状態、デッドロック状態、変更更新の問題の原因が全て、可変変数にある
変数が変化しないのであれば、これらの問題にはならない
イベントソーシング
状態ではなく、トランザクションを保存するという戦略
銀行の取引などで、毎回残高などの状態を保存するのではなく、毎回の取引を保存しておき、それの計算結果を使う
このようにすれば、可変変数は不要になる
ただ、このような処理にすると無限にメモリなどが必要なので、毎日0時の状態を計算して保存しておくなどをする
イベントソーシングは、データストアに対して、削除や更新は行わない
CURDの、CRのみで済む