SRP (単一責務の原則)
参考:https://qiita.com/riekure/items/904f56713c3e213920fa
OCP (オープンクローズドの原則)
参考:https://qiita.com/riekure/items/41c891c50a868cfd5939
LSP (リスコフの置換原則)
参考:https://qiita.com/riekure/items/cfc6f8e160ec975153ba
ISP (インターフェイス分離の原則)
参考:https://qiita.com/riekure/items/8b6b8adf641285e22113
DIP (依存関係逆転の原則)
参考:https://qiita.com/riekure/items/ab6b5deb391399944a15
CQS (コマンド/クエリ分離の原則)
参考:https://rakusui.org/cqs/
DRY (Don't Repeat Your Self 原則)
同じコードを重複して書かないこと
- コードを読む作業が難しくなる
- コードを修正する箇所が多くなる
- テストがない可能性が高い