Mi pregunta es más sobre cómo diseñar una aplicación MVC. Por ejemplo, se nos recomienda usar DI con el patrón Repository para desacoplar el acceso a datos desde el controlador, sin embargo, se dice muy poco sobre CÓMO hacerlo específicamente para MVC. ¿Dónde colocaríamos las clases del repositorio, por ejemplo? No parecen estar relacionados específicamente con el modelo, ya que el modelo también debería estar relativamente desacoplado de las tecnologías de acceso a datos reales.
Una segunda pregunta implica cómo estructurar las capas o niveles. La mayoría de las aplicaciones de ejemplo (cena Nerd, Music Store, etc.) parecen usar un enfoque de 2 capas de un solo nivel (sin contar las pruebas) que generalmente tiene controladores que llaman directamente al código L2S o EF.
Si quiero crear una aplicación de varios niveles / capas, ¿cuáles son algunas de las mejores prácticas en lo que respecta a MVC?
fuente
View
sección (está su interfaz de usuario).