今回は「オブジェクト指向の5大原則」の中から,「単一責務の原則」に関して解説しています。オブジェクト指向の5大原則は次の5つの原則で構成されており,それぞれの頭文字をとって「SOLID」と呼ばれています。
- 単一責務の原則(Single Responsibility Principle)
- オープン・クロースドの原則(Open/closed principle)
- リスコフの置換原則(Liskov substitution principle)
- インタフェース分離の原則(Interface segregation principle)
- 依存関係逆転の原則(Dependency inversion principle)
今回解説している「単一責務の原則」は,簡単に言うと,「クラスは1つの責務だけをするようにつくろう」といった内容ですが,これらの内容に関する書籍を改めて読み返し,私なりに整理し,独自の視点を取り入れて,新人教育にも使えるレベルで,かみ砕いて解説してみました。他の私の書籍で解説している,ドメイン駆動開発の元になっている考え方で,非常に重要なエッセンスが詰め込まれた内容になっていますので,興味のある方はぜひご覧になってみてください。
C#を正しい3層構造で造れてますか?
#00_はじめに
#01_単一責務の原則とは
#02_原則違反の例
#03_変更理由単位でクラスを分ける
#04_3層構造の例
#05_修正箇所を最小にできる
#06_修正する場所が明確になる
#07_共通化しましょうという話ではない
#08_少々悪いコードでも問題視しない理由
#09_探しやすいコード
#10_クラスは機能ごとに小さく作る
#11_小さなクラスがそれぞれに協調して目的を達成させる
#12_多数の部品群のなかから摘まんで作る
#13_クラスはどこまで小さくすればいいのか
#14_アンダーソン式単一責務の原則
#15_最小カプセルの検証_監視タイマークラス
#16_最小カプセルの検証_受注画面クラス
#17_最小カプセルの検証_ユーザークラス
#18_最小カプセルの検証_商品マスターデータアクセス
#19_登場人物に合わせたモデリングの四角と線
#20_四角と線を最小カプセル化する
#21_アンダーソン式手順
#22_パターンを見つけ出す
#23_プログラミングの自問
#24_さいごに