Actualmente estoy tratando de refactorizar un proyecto (asp.net mvc) que no tiene ninguna separación en absoluto. acaba de carpetas: s¿Cuál es una estructura de solución recomendada para un sitio web algo grande en asp.net
- El proyecto tiene un montón de código EF primeras clases (People.cs, Exam.cs, Message.cs, etc.)
- El proyecto tiene varios repositorios (que todo el uso de datos EF Contexto)
- y, por supuesto, una gran cantidad de controladores y ViewModels
tenemos un proyecto de pruebas, pero nos enviaban muy bueno en TDD así que no es algo que realmente estamos trabajando a partir de ahora.
Me gustaría tener una separación más clara en las diferentes responsabilidades que el proyecto tiene que abordar y agradecería algunos consejos sobre una buena estructura de proyecto que lo logre.
Por favor ayuda. gracias de antemano
Estoy de acuerdo con la adición de las interfaces, y me gustaría utilizar un contenedor IoC para encargarme de resolver la interfaz para la implementación en tiempo de ejecución. –
He leído que viewModels no debe interactuar con la capa de servicio (lógica comercial). ¿No deberían seguir siendo el proyecto web? – ignaciofuentes
Generalmente conservamos ViewModels en el proyecto web. Sin embargo, nuestros DTO pueden ser utilizados directamente por la capa de presentación, ya sea Web o Servicios o WPF (XAML). Un contenedor IoC como Unity es una necesidad para mantener nuestras preocupaciones separadas e inyectar nuestras dependencias de servicio. – jdmonty