1コントローラー1アクション
例外は、シンプルなCRUDが揃ったリソースの制御のとき
この場合でも一つでもメソッドが増えるなら、分離し始めたほうが良い
ここで解説してる
翻訳が読みづらいので英語も見たほうがいい
2016/2
railsってもっと前から流行ってた気がするけど、そこらへんの時代ではどう認識されてたんだ?
実際に書けば、そりゃそうだろと思う
こんなことDHHが言って無くても気づかないといけない
当たり前すぎるのに、初心者や判断力が足りない人は、コントローラを分けるべきかどうか迷ってしまう
価値がない方の選択肢が混じったまま迷わせる点で、非常に厄介
なんで分けるべきか、という考えが生まれるかと言うと、コントローラをクラスで表現するから
クラスのインスタンス状態があるせいで不要な選択を選ばされる羽目になっている
エントリーポイントに対して、1つの関数を対応付ければそれで十分なのに
共通化は関数なりモジュールシステム使うなり、クラス使わずにやるべき
Laravelだとシングルアクションコントローラと呼ぶ
phpの__invokeを使って、ルーティングではクラス自体を指定する
書き手が、動きゃ良いで書いてしまうと気づけ無いのだと思う
いつからここらへんの話あるだろう?miyamonz.icon
これも微妙に理解が難しい & 1コントローラ1アクションのケースに当てはまっているのだっけ?
氏の著書見ると、なんか一般的な説明と違うような気がする
clean architecture p.81で「この法則が誤解される原因は名前があまり良くなかったことだ」と言っている
wikipediaには
The single-responsibility principle: "There should never be more than one reason for a class to change." In other words, every class should have only one responsibility.
コントローラを別ファイル(別クラス)に分けろ、というのとは別話題だが