Moje pytanie dotyczy bardziej sposobu projektowania aplikacji MVC. Na przykład zachęcamy do korzystania z DI z wzorcem repozytorium w celu oddzielenia dostępu do danych od kontrolera, jednak bardzo mało mówi się na temat tego, jak to zrobić specjalnie dla MVC. Gdzie na przykład umieścilibyśmy klasy Repozytorium? Wydaje się, że nie są one związane konkretnie z modelem, ponieważ model powinien być względnie oddzielony od rzeczywistych technologii dostępu do danych.
Drugie pytanie dotyczy sposobu strukturyzacji warstw lub poziomów. Większość przykładowych aplikacji (kolacja Nerd, Music Store itp.) Wydaje się korzystać z jednowarstwowego, dwuwarstwowego podejścia (nie licząc testów), w którym zazwyczaj kontrolery bezpośrednio wywołują kod L2S lub EF.
Jeśli chcę utworzyć aplikację wielowarstwową / warstwową, jakie są najlepsze praktyki dotyczące MVC?