このリポジトリについて
- SOLID 原則に合致/違反するコードの実例を作ってみた
SOLID 原則
SOLID 原則を設計・実装時に適用することで,以下の恩恵が得られる
- クラス間が疎結合になり,依存関係がシンプルで把握しやすくなる
- 変更による影響範囲を小さくでき,実装・テスト・デプロイが楽になる
- 上記の結果,変更を加えやすい(アジリティの高い)ソフトウェアになる
SOLID 原則は5つの原則のアクロニムであり,それぞれが全体の設計において言及する分野は概ね以下のようになる:
原則 | 担当分野 |
---|---|
単一責任の原則 | アクターとソフトウェアの高レベルの設計 |
開放・閉鎖の原則 | クラス設計と機能の拡張 |
リスコフの置換原則 | 下位の型定義と継承 |
インタフェース分離の原則 | ビジネスロジックとクライアントの対話方式 |
依存性逆転の原則 | クラス間の依存方式 |
参考文献
- Envato TUTS+, The SOLID Principles, https://code.tutsplus.com/series/the-solid-principles--cms-634