mike-neckのブログ

Java or Groovy or Swift or Golang

クリーンアーキテクチャーの読書メモ(5)

§6 関数型プログラミング

  • プログラミング以前から存在する(1930年代の Alonzo Church のラムダ計算)
  • 関数型言語の変数は変化しない
  • 並行処理の問題は可変変数がなければ発生しない
  • 変数が変更するコンポーネントと不変のコンポーネントを分離して、可変コンポーネントからできるだけ不変コンポーネントに処理を移動する
  • データの状態を保存するのではなく、変更内容を保存する(イベントソーシング)
    • 十分な容量のストレージと十分な処理能力があれば、アプリケーションを不変にできる

まとめ