![見出し画像](https://assets.st-note.com/production/uploads/images/23268816/rectangle_large_type_2_9d682a875eaa3c6a70b23cc3cc545623.jpg?width=1200)
【設計の原則(7〜11章)】SOLID原則で変更に強いソフトウェアを作る@Clean Architectureを読んで学んだことメモ
どうも、たかふみです。
前回に続き、今日は「設計の原則(第7章〜第11章)」です。
※注:僕は初めてアーキテクチャに関する本を読んでいます。そのため、記載内容には間違いがある可能性があります。「これは違うのでは?」などあるとコメントで頂けるとすごく助かります!
SOLID原則
![画像1](https://assets.st-note.com/production/uploads/images/23254881/picture_pc_1499b3574d3c74192457806e84b8f83f.png?width=1200)
第7章:SRP 単一責任の原則
![画像2](https://assets.st-note.com/production/uploads/images/23255570/picture_pc_b763d95f8cab848d729f3f0cdb58bf85.png?width=1200)
モジュールを変更する理由はたったひとつだけであるべきである。
引用:Clean Architecture P81
関数をまとめる際は使用する人ごとで分ける。同じ処理をする関数だからといって使用する人が別なら分割する。
第8章:OCP オープン・クローズドの原則
![画像3](https://assets.st-note.com/production/uploads/images/23264195/picture_pc_fc4d5e5a5cef66cb0ac0392d8c2a5ed8.png?width=1200)
この保護レベルに従うように設計を行う。
ソフトウェアは「拡張のためのプログラム追加が簡単&修正に対する他機能への影響が小さい」という状態が理想的。そこで「機能の分割→コンポーネントの階層構造にまとめる」ことで、変更の影響範囲を限定することができる。
第9-11章:リスコフの置換原則/インターフェイス分離の法則/依存関係逆転の原則
![画像4](https://assets.st-note.com/production/uploads/images/23266957/picture_pc_8f3f8490d4560c87dd8363f0a71dd466.png?width=1200)
■おわり
これらの章はルールに関して書いてあるだけなので、実際に原則にのっとったプログラムを見るのが理解するには良いと思いました。SOLID原則については別の書籍かネット記事で再度読んでみたいと思います。
それでは!
いいなと思ったら応援しよう!
![たかふみ | Webエンジニア](https://assets.st-note.com/production/uploads/images/128369411/profile_a3c853c9135f56b75d4c1df8ae5ffefe.png?width=600&crop=1:1,smart)