![見出し画像](https://assets.st-note.com/production/uploads/images/22254832/rectangle_large_type_2_52244e8fe21745ea10d0963e50955eb7.jpg?width=1200)
【5章~6章&まとめ】ソースコードは依存度が低い&不変な状態にすべき!「プログラムですべきではないこと」まとめ@Clean Architectureを読んで学んだことメモ
どうも、たかふみです。
前回に続き、今日は「第5章〜第6章」と「まとめ:3つの縛り」です。
※注:僕は初めてアーキテクチャに関する本を読んでいます。そのため、記載内容には間違いがある可能性があります。「これは違うのでは?」などあるとコメントで頂けるとすごく助かります!
第5章:オブジェクト指向プログラミング
![画像1](https://assets.st-note.com/production/uploads/images/22253733/picture_pc_de2bf611db13a7f9a69bbb496dd4ba8f.png?width=1200)
オブジェクト指向設計でもっとも強力なのが「ポリモーフィズム」であると書かれています。
"ポリモーフィズム"によって、システム内のソースコードを独立させることができ、他機能への依存度を下げることができます。それにより関数の再利用ができたり、画面・処理・データの各担当者が別々で開発・デプロイをすることができたりすることができます。
第6章:関数型プログラミング
![画像2](https://assets.st-note.com/production/uploads/images/22253787/picture_pc_22040c41e5092545fec4e990c24c034a.png?width=1200)
可変性には、例えば「同時に同じデータを更新しようとすると不具合が起きる」という問題があります。そのため"可変な部分を減らし、不変な部分を増やす"ことが必要になります。
■まとめ:3つの縛り(第3章~第6章)
![画像3](https://assets.st-note.com/production/uploads/images/22254262/picture_pc_df5f1b433d53afd929f83174cba45c23.png?width=1200)
「何をすべきではないか」をこれらの3つに縛られることで正常に動作するシステムを作ることができます。
本書ではソフトウェアのルールは電子計算機で実行するための最初のコードを書いてから変わっていないと記載されています。これらが設計の基本なんですね。独立したプログラムを書くことでシステムのテストを行うことができたり、同時に開発を進めることができたり、複数人が操作しても不具合を起こさないシステムにすることができます。基本を忘れず、設計しましょう。
それでは!
いいなと思ったら応援しよう!
![たかふみ | Webエンジニア](https://assets.st-note.com/production/uploads/images/128369411/profile_a3c853c9135f56b75d4c1df8ae5ffefe.png?width=600&crop=1:1,smart)