fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Railsでビジネスロジックをどこに書くか?

どのような歴史を辿ったか?

  1. Rails勃興(2004~2005年)

  2. ViewやControllerにビジネスロジックを記述。見通しの悪さが問題に

  3. モデルにビジネスロジックを書くべきという主張(2006年)
    Buckblog: Skinny Controller, Fat Model

  4. Fat Modelが問題。サービスオブジェクトなどModelの責務を切り出す動き(2012年)
    7 Patterns to Refactor Fat ActiveRecord Models - Code Climate
    (日本語訳)肥大化したActiveRecordモデルをリファクタリングする7つの方法 Railsで重要なパターンpart 1: Service Object(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社

  5. サービスオブジェクトの間違った運用に警鐘を鳴らす
    俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita
    Service Objectがアンチパターンである理由とよりよい代替手段(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社

その他参考
Railsのファットモデル問題に対処する前に読んでほしい記事 - Qiita
中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it? - Speaker Deck