前提・実現したいこと
MVCで開発してるものです。
「サービス層はすでに出来上がってるので、それを参照してMVCでWebアプリを作ってほしい」との話がありました。
MVC自体が初めての経験で、全然わからず始まったのですが、DBを使用したMVCについては概ね把握しました。
開発しているのはPull型MVCです。
前程として、DBへの参照や格納、取得を担ってるのがサービス層とします。
サービス層に問い合わせれば、入力値合わせて、DBを参照し、必要な値を返してくれます。云わば、Web APIのようなものだと思ってください。
イメージとしては、本来、モデルが行ってることをサービスで行ってる感じです。
開発自体の規模が大きいので、分離させて、様々なアプリから呼び出せるようにしてる感じです。
一言でサービスというとメール受送信や、決済機能などを指す感じがしますが、ここではモデルを様々なアプリから参照したいので分離させたものだと思って下さい。
発生している問題・エラーメッセージ
ここでサービス層が挟まれたMVCの場合はどの部分でサービスを参照するのが正しいのでしょうか?
- 一般的にビジネスロジックといわれるものは、サービス層に記述されているので、コントローラーから参照して、戻り値をモデルに格納し、ビューからモデルを参照するべきなのでしょうか?
- DbContextのように参照する専用のクラスを別途に作成して、参照するべきなのでしょうか?
勝手な考察
サービス層はある意味で、DbContextのような存在なので、コントローラーからサービスを参照して、モデルに格納するのはベストプラクティスだと思っています。
補足情報(FW/ツールのバージョンなど)
- ASP.NET Core MVC
回答1件
あなたの回答
tips
プレビュー