山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

Skinny Controller, Fat Model

元はRails関連だと思いますが、Skinny Controller, Fat Modelという

コーディングスタイルがあります。


Skinny Controller, Fat Model

シンプルなサンプルプログラムもあり非常にわかりやすいです。

簡単に言うと、HTML中にロジックを記述していたものをControllerに移動させると

ベターになり、さらにActiveRecordのModelクラスに移動するともっと

わかりやすく使いやすくなるよ、と言っています。

オブジェクト指向オブジェクト指向の違いがよくわかるかと思います。


Modelを「Fat」にまでしてしまうことには反対意見も多いようですが。

やってみると結構いい感じに実装できます。


ただしプレゼンテーションロジックは入れないほうがいいです。

例えばHTMLの組み立て、メールのテキストの作成など。

また依存関係にも気をつけます。

やはりI/Oまわりのクラスには依存しないように純粋なビジネスロジック

だけになるようにします。

例えばHttpServletRequestなどはそのまま渡さないで必要な情報だけを

渡すようにします。


参考になれば幸いです。