MVCでいうと、ビジネスロジックはModelクラスに書くべきですが、
Modelクラスは汎用的であるべきだと思います。
ですが、開発を進めているとその画面特有の処理があると思います。
例えば
・A画面では登録後にメールを送る、B画面では登録後にメールは送らない等
これをModelクラスにそれぞれ実装してしまうと、汎用性が失われてしまいます。
こういった画面特有の処理はControllerクラスに書くべきでしょうか?
それとも、別途、画面特有の処理をするレイヤーを用意してそこに書くべきなのでしょうか。
例えば、以下の様な形で、ControllerとModelの間に画面特有のビジネスロジックを書くレイヤーを用意する
Controller → ViewService → Model → DataAccess
やっぱりControllerに書くとテストがしにくいし、[Controller]といっているのにその役割を超えてしまっている気もます><
そう考えると、やっぱり画面特有のビジネスロジックを書くレイヤーを用意するのがいい気がするのですが、あまりそうしている話を聞いたことがなく不安です><
どうかお知恵を貸して頂ければ幸いです...!
どうぞ宜しくお願いいたします。