Desarrollaremos una aplicación web de mercado vertical muy grande y nos inclinamos hacia el enfoque MVC.¿Cómo estructurar, particionar y construir una aplicación MVC grande para su implementación en pequeñas piezas incrementales?
Tendrá 1 página maestra común para todas las vistas en la aplicación. El maestro proporcionará un marco de navegación/búsqueda para toda la aplicación que permitirá a los usuarios buscar y seleccionar entidades y luego navegar a una función para realizar.
El modelo de la base de datos tendrá de 700 a 1000 tablas. La aplicación tendrá cientos de controladores.
Los controladores y sus vistas se pueden agrupar en uno de los muchos (20-50) subsistemas de la aplicación. (Estamos buscando un enfoque de áreas para ayudar en la organización).
Queremos ofrecer mejoras/actualizaciones en pequeñas piezas funcionales. Esto podría ser una función nueva, una corrección de errores, funcionalidad dependiente del cliente o módulos opcionales adquiridos por el usuario final.
Pasamos demasiados años desarrollando/apoyando y entregando una aplicación de Windows vb grande exe. Nos gustaría tomar otro enfoque.
La administración no desea entregar una aplicación grande. Quieren poder entregar pequeñas piezas incrementales cuando sea necesario.
Es posible que deseemos crear un entregable que contenga un controlador, y solo un par de vistas, y una parte del modelo.
Para entregarlo, queremos copiar una carpeta dll en una carpeta bin, y crear una carpeta Ver y copiar en la (s) nueva (s) vista (s). ¡Lo más sencillo posible!
He pasado muchos días investigando esto y no he encontrado un camino claro para proceder. (Todos los tutoriales y artículos que encontré asumieron un solo proyecto).
¿Cómo estructuramos la aplicación para lograr esto?
¿Cómo dividimos la aplicación en proyectos/conjuntos separados para hacer esto?
¿Se puede construir un proyecto base que contenga la página maestra, la autenticación y el enrutamiento global, y luego hacer referencia a esto en cada uno de los cientos de proyectos potenciales para cada uno de los módulos?
En desarrollo, ¿cada subproyecto necesita contener todo el proyecto base, o solo la carpeta de vistas compartidas, enrutamiento global, y web.config y una referencia al dll del proyecto base?
¿Alguna documentación detallada que explique este enfoque?
¿Algún problema de desarrollo/prueba?
Gracias por toda la información, tenemos que hacerlo funcionar pronto.
Actualización:
siguió el ejemplo aquí link text
Es un gran punto de partida!
Voy a hacer algunos deberes ahora. Si alguien tiene documentos específicos, ejemplos, tutoriales, no dude. En las últimas dos semanas he usado M, V y C en mi teclado. –
SY - ¿Qué terminaste haciendo? –
LuckyLindy - Estamos usando áreas. Está funcionando muy bien en MVC 2 Beta en este momento. Tenemos un proyecto principal y cada aplicación es un proyecto secundario. El dll de cada aplicación hija se implementa en el contenedor primario y las vistas secundarias se copian manualmente en la estructura de carpetas de áreas en el elemento principal. –