teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

書き込んでいる途中で送信してしまったため追記

2021/10/28 01:38

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -54,4 +54,19 @@
54
54
  たとえばメソッドをやたらstaticにしたりとか、いわゆる神クラスっていうやつになったりとか。
55
55
 
56
56
  単一責任の原則は『1クラスにつきひとつの責務だけ与えよ』的なやつですね。
57
+ 従わない場合、例えばファイルの読み書きをする『FileManager』なるクラスを作ったとします。
58
+ でも一ヶ月後の自分は覚えていません。
59
+ それで『これもファイル操作だから』と削除系やコピー系の処理も加える。
60
+ そうするとクラスが肥大しますね。
61
+
57
- 従わない場合例えば『FileManager
62
+ なにかファイル関連があったらFileManagerへ。
63
+ という風になってしまう。
64
+ そうすると、OOPの基本概念である『オブジェクトに管理や処理を任せる』ということができなくなってしまいます。
65
+
66
+ これではダメだということで、単一責任の原則とかを課しているのです。
67
+
68
+ 他の原則も似たような感じです。
69
+ 『同じような処理を書くな』→クラスなり関数なりで切り出して使え
70
+ 的な。
71
+
72
+ よってそれぞれ方向性が違います。