回答編集履歴
1
書き込んでいる途中で送信してしまったため追記
test
CHANGED
@@ -110,4 +110,34 @@
|
|
110
110
|
|
111
111
|
単一責任の原則は『1クラスにつきひとつの責務だけ与えよ』的なやつですね。
|
112
112
|
|
113
|
+
従わない場合、例えばファイルの読み書きをする『FileManager』なるクラスを作ったとします。
|
114
|
+
|
115
|
+
でも一ヶ月後の自分は覚えていません。
|
116
|
+
|
117
|
+
それで『これもファイル操作だから』と削除系やコピー系の処理も加える。
|
118
|
+
|
119
|
+
そうするとクラスが肥大しますね。
|
120
|
+
|
121
|
+
|
122
|
+
|
113
|
-
|
123
|
+
で、なにかファイル関連があったらFileManagerへ。
|
124
|
+
|
125
|
+
という風になってしまう。
|
126
|
+
|
127
|
+
そうすると、OOPの基本概念である『オブジェクトに管理や処理を任せる』ということができなくなってしまいます。
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
これではダメだということで、単一責任の原則とかを課しているのです。
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
他の原則も似たような感じです。
|
136
|
+
|
137
|
+
『同じような処理を書くな』→クラスなり関数なりで切り出して使え
|
138
|
+
|
139
|
+
的な。
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
よってそれぞれ方向性が違います。
|