セカイモンの裏側

★毎週木曜日更新★ 海外ショッピングサイト『セカイモン』のブログです。私たちスタッフの仕事風景や日々の出来事など、     “セカイモンの舞台裏”とも言える日常を綴っていきます。

ファットコントローラの何が悪い

ファットコントローラって忌み嫌われてる事が多いけども

www.slideshare.net

撲滅運動とかがあるくらいなんですが、MVCのルールにのっとればファットコントローラはだめですが、そもそもわかりやすいコードないし、クラス設計にMVCが必要とも思ってないです。

そもそもMVCってJAVAGUIで必要性があったからその考え方が広がったわけで、

しかも約20年位前に成り立ち!?

Model View Controller - Wikipedia

このMVCの概念を知った時から疑問の念に駆られていました。

当時のyahoo知恵袋

detail.chiebukuro.yahoo.co.jp

この時からMVCって不要にコントローラを膨らましているとすぐに思いついてその必要性が今になってもわからないです。

 

なので別に1つのコントローラに1つのアクションで問題ないのでしょうか?

ていうスレッドをkohanaのスレッドに何年か前に立ち上げました。この時も結局Modelにあえてソースコードを持ってくるという答えを得られませんでした。

single action per controller - Kohana Forums

結局前にも利用したこのページに激しく同意です。

togetter.com

なのでLibrary,Model,Util,Helperなどを作るときはModelとして扱って、作成する時はリーダー、マネージャーというか私に許可制とかにした方がいいかなw

じゃないと、そのクラスを使った人しかわからない機能を作るとなると属人的になっていくと思うので、作成するときは慎重にした方がいいかなっと思います。

 いずれにしても、コントローラの階層にファイルがいっぱいになってしまうので、2階層にしないといけないと思います。3階層はややこしくなるし。マイクロサービスなので2階層で十分かと思います。