-
Notifications
You must be signed in to change notification settings - Fork 0
Railsを三層アーキテクチャから、四層アーキテクチャに変更したい #28
Copy link
Copy link
Open
Labels
Description
Rails5以降を把握していないので、Rails7の仕様を読むところからのスタート
MVCの問題点
MVCはFat Model、Fat Controller問題を起こしやすい。初学者ほど顕著に傾向が出る。
4層への変更案
- ジェネレート時に「module Model名Transaction」を追加する(一般的な名称だとService)
- Model名Controllerのジェネレート時に、Controllerの中にinclude Model名Transactionを加える
こういったMVTCにすることで、Fat ControllerもFat ModelもTransactionにまとめやすくなる。
なぜ名称がServiceではなく、Transaction?
「一般的な名称だとService」だが、Serviceという名称で過去に導入してみたところ・・・
クラス名称(モジュール名称)だけでは、周りが使い方を察知できなかった。
Transactionであれば、基本情報が受かるレベルであればすぐに使い方は分かる。
Serviceだと、ゴッド化しやすいのでTransactionかAgentにしたい。
Reactions are currently unavailable