Clean Architecture まとめ – 3

3 パラダイムの概要

構造化プログラミング
オブジェクト指向プログラミング
関数型プログラミング
考えるべきこと

内容

プログラミングには、構造化プログラミング、オブジェクト指向プログラミング、関数型プログラミングの3つのパラダイムがあり、これらは良いアーキテクチャを作るための3つの関心事に関連しているため、概要を紹介する。

アーキテクチャの3つの関心事と3つのパラダイムの関連

  • コンポーネントの分離: オブジェクト指向プログラミング
  • データ管理: 関数型プログラミング
  • 機能: 構造化プログラミング

3つのパラダイムの要約

  • 構造化プログラミング
    直接的な制御の移行に規律を課すものである。
    goto文の代わりに if/then/else や do/while/until に置き換えられた。
  • オブジェクト指向プログラミング
    間接的な制御の移行に規律を課すものである。
    参照を階層的に制御できることを発見し、各階層のローカル変数やインスタンスなどの概念が生まれ、ポリモーフィズムの発見にもつながった。
  • 関数型プログラミング
    代入に規律を課すものである。
    ラムダ計算という不変性を概念にした計算により、代入文がない。

これら3つのパラダイムはできることが増やしたのではなく、「すべきでないこと」を伝えている。
それは、「goto文」「関数ポインタ」「代入」の3つ。
これら3つのすべきでないことを、規律を課すことによってできなくした。

学びを活かすアイディア・行動

今の所特になし

kiyoshi.saito@tttsunagari.jp

アプリ開発をメインにWebアプリ開発をやってるフリーランスエンジニアです。

Leave a Reply

Your email address will not be published. Required fields are marked *