Help us understand the problem. What is going on with this article?

【自分メモ】オブジェクト指向の素人メモ

はじめに

・これは自分用のメモ書きです。

・なぜオブジェクト指向を考えるのか?
 →全体・部分的な変化に強い設計をするための一つの手段。
  改修工数やバグ削減につながる。

オブジェクト指向って?

プログラミングパラダイムの一つ。そのほかに手続き型や関数型など。
それぞれのちゃんとした違いは色んな人が議論していると思うが、なるべくとっつきやすい観点の切り出す。

・手続き型
 →「処理」を羅列した設計。

・関数型
 →ある決まった内容の入力に対して、必ず同じ出力を返す「関数」を使った設計。
  関数内で入力以外の変数に依存しない。してはいけない。

・オブジェクト指向型
 →オブジェクトのフィールドにデータを持たせ、その「状態」を変更することで
  処理を行っていく。

参考
・パラダイムの違いについて全くわからなかったが、図があって理解しやすかった
 →https://ubiteku.oinker.me/2017/05/08/purpose-of-functional-programming/
・すごくしっかりした考え方による違い。モナドがわかったら読解に挑戦したい。
 →https://qiita.com/retemo/items/d251f0b558a3ebf1d720

オブジェクト指向の設計を行うにあたって考えること

・設計したい対象をどんな形でもいいので、整理する。現行のものがあるならそれをまず整理する。
 →それをもとに、今後、変化しうる機能・箇所はどこなのか?を考える。
  変化しなそうなところ、変化しそうなところを分離する構造を考える。

・構造を考えるためには?
 →過去の知恵を参考にする
 →例えばデザインパターンを知る。実装したい言語があればそれでググるのが良いと思う。
  例:https://www.techscore.com/tech/DesignPattern/
  例:https://pydp.info/
 →といっても種類がたくさんあるので、少しずつ理解するのがよいと思う。
  (何もわからずに初めに見たものは5つだったので良かったけれど→https://qiita.com/kotetsu75/items/4b903023001f157554a4)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした