絶対完全無料ツールの紹介

エンジニア目線のブログです

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

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

 

ファットコントローラ撲滅運動 from Ohasi Yuki

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

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

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

Model View Controller - Wikipedia

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

当時のyahoo知恵袋でもコントローラが膨らんでいると懸念して質問したんですが、

ポイントがずれてる回答しかなかったです。

 

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

 

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

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

single action per controller - Kohana Forums

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

 

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

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

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

2018年頃