はじめに
・これは自分用のメモ書きです。
・なぜオブジェクト指向を考えるのか?
→全体・部分的な変化に強い設計をするための一つの手段。
改修工数やバグ削減につながる。
オブジェクト指向って?
プログラミングパラダイムの一つ。そのほかに手続き型や関数型など。
それぞれのちゃんとした違いは色んな人が議論していると思うが、なるべくとっつきやすい観点の切り出す。
・手続き型
→「処理」を羅列した設計。
・関数型
→ある決まった内容の入力に対して、必ず同じ出力を返す「関数」を使った設計。
関数内で入力以外の変数に依存しない。してはいけない。
・オブジェクト指向型
→オブジェクトのフィールドにデータを持たせ、その「状態」を変更することで
処理を行っていく。
参考
・パラダイムの違いについて全くわからなかったが、図があって理解しやすかった
→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)
Comments