前提

テストしやすいように設計する

良い設計とは「テストしやすい」ことである

良い設計とはなにか?と問われて、凝集度と結合度に関する議論を思いつく人もかもしれないが、この定義によりもっと具体性がある設計方針として、テストが考えられる。つまりEon(Ease of Testing)、テスト容易性が高い設計が良い設計であると考える。
参考:http://blogs.itmedia.co.jp/hiranabe/2005/08/post_e66c.html

テストしやすいMVCの配分とは
  • コントローラやビューではなく、モデルで実装できる部分はできるだけモデルに書いておくと、テストを書くのが楽になる。

参考:http://d.hatena.ne.jp/akm/20061126/1164552662

  • モデルは厚くすべきだが,厚すぎたら把握しづらい。特定のユースケースでしか使われないメソッドは,モデルではなく特定のコントローラに置いてあってもよい。その辺はバランスを取るべき。

参考:http://d.hatena.ne.jp/higayasuo/20091013/1255408723