0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

構造化・オブジェクト指向・関数型プログラミングの自分なりの整理

Posted at

#初めに
Clean Architecrureを読んで、いままでふわふわしてた腑に落ちた部分を書いていく。
今までは、
 構造化「あぁif文,for文とかね」
 オブジェクト指向 「えーっと、クラス、継承、多様性とかね」
 関数型「最近よく聞くね。」
くらいにしか頭になかった。
「これらの概念はプログラムに制約を強いている」とあり、認識が変わった部分を整理する。

#まとめ
##構造化プログラミング
直接的参照の制約=Goto文の禁止と謳ってる。

##オブジェクト指向プログラミング
間接的参照の制約=Global変数の禁止を謳っている
コードが多くなり複雑になるほど、Global変数は害悪になる。
誰でもどこからでもアクセス・変更可能なGlobal変数をやめ、オブジェクトに閉じてしまうことで、大規模機能を理解しやすくしようというのがオブジェクト指向。クラス、継承、多様性などはそのための手段でしかない。

##関数型プログラミング
代入の禁止=代入しない…だとっ! 代入するのが当たり前で"しない"という発想がなかった。
戻り値を代入して、それに対してまた代入して・・・と長い処理を書かないため、1行で何してるかを明確にする必要が出る。
そのため、ラムダ式やクロージャという手段を使うんだなと感じた。

##参考
Clean Architecture

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?