私の質問は、MVCアプリケーションの設計方法に関するものです。たとえば、RepositoryパターンでDIを使用してデータアクセスをコントローラーから分離することをお勧めしますが、HOWではMVC専用にこれを行うとはほとんど言われていません。たとえば、Repositoryクラスはどこに配置しますか?モデルは、実際のデータアクセステクノロジーから同様に比較的分離する必要があるため、特にモデルに関連しているようには見えません。
2番目の質問には、レイヤーまたは層の構成方法が含まれます。ほとんどのサンプルアプリケーション(オタクディナー、ミュージックストアなど)はすべて、通常はL2SまたはEFコードを直接呼び出すコントローラーを持つ単一層の2層アプローチ(テストをカウントしない)を使用しているようです。
多層/レイヤーアプリケーションを作成する場合、MVCに関するベストプラクティスは何ですか?