Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@jun2_3

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

More than 1 year has passed since last update.

はじめに

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

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

オブジェクト指向って?

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

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

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

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

参考
・パラダイムの違いについて全くわからなかったが、図があって理解しやすかった
 →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)

0
Help us understand the problem. What is going on with this article?
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
jun2_3

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?