MVCモデル

あるエントリで、
「Skinny Controller, Fat Model」が最良ではない
とありました。*1


確かにControllerのユニットテスト
最近のフレームワークを使えば簡単にできますが、
Requestパラメータの記述やSessionにデータを突っ込む処理のように
実際に対象メソッドを呼び出すまでの準備が結構面倒で
テストを記述する時間が取れないことも多々あります。


それに比べてModel部分*2であれば、比較的楽に準備が済むので
テストを早く実行することができます。


テストできるからいいだろう、ってControllerが肥大化すると
Smart UIになっちゃう。


やっぱり「Skinny Controller, Fat Model」が最良だと思うんだけどなー。
Modelが肥大化するかもしけれないけど、Modelの中のレイヤーを分ければいい気がする。
他のプロジェクトで再利用なんて都合のいい事でなく、
保守をする上でも変更しやすいロジック/テストクラスになるんじゃないかなー。

*1:エントリでは、ロジックをControllerに書いてもModelに書いても設計時の考慮漏れは防げないということを言いたかったみたいです。それには同意

*2:Service層も含む