Ruby on Rails

August 20, 2008

Railsのビジネスロジックはどこに書くの?

このエントリで、
たとえば、RailsではビジネスロジックをModelではなくControllerに記述します。
とか言ってしまいましたが、思い込みだったようです。一応参考にさせていただいたURLを載せておきます。
その1. まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails
その2. Strutsの知識を基に、Ruby on Railsを学ぶ方法
上記を読んで、「RailsではビジネスロジックをModelではなくControllerに記述する」とか思い込んでしまったのですが、別にそういう決まりとか、風潮があるわけではないのですね。
例えば、「RailsによるアジャイルWebアプリケーション開発 第2版」では、ビジネスロジックはModelクラス(ActiveRecord::Baseの継承クラス)に記述されており、Controllerオブジェクトは、Modelクラスのメソッドの呼び出しと、実行結果にしたがって処理を振り分ける役割に徹しています。
また、railsのメーリングリストを見ても、ビジネスロジックはModelに記述すべき、という意見が優勢のようです。
http://lists.rubyonrails.org/pipermail/rails/2006-May/039438.html
http://readlist.com/lists/lists.rubyonrails.org/rails/7/38534.html



matssaku at 01:51|PermalinkComments(0)TrackBack(0)clip!