Me gusta mucho el funcionamiento de ASP.NET MVC. Me encantaría implementarlo en todos los nuevos proyectos web que sigan adelante, pero el otro día me tocó un inconveniente en un prototipo para el que realmente no he encontrado una buena solución, así que te pregunto, ¿cómo diseñarías una aplicación MVC? que no se ajusta al patrón REST típico? Como ejemplo, el prototipo que estaba diseñando tendría varias páginas, pero las páginas mismas no están necesariamente vinculadas a un modelo de dominio. Por ejemplo, tener un sitio de registro simple, lo que podría tener las siguientes páginas:Diseño de acciones del controlador ASP.NET MVC
- /Default.aspx
- /Register.aspx
- /ThankYou.aspx
De vez en cuando, como una el programa puede requerir una sección de administrador para tratar detalles tales como la moderación de registros o la revisión de datos. En una aplicación ASP.NET Web estándar, debo añadir lo siguiente
- /Admin/Default.aspx
- /Admin/ListRegistrations.aspx
- /Admin/ViewReports.aspx ...
¿sería una desviación inaceptable desde el patrón MVC, en este caso, para tener dos controladores como:
- Home-> Índice
- Inicio-> registrar
- Inicio-> ThankYou
- Administración-> Índice
- Administración-> ListRegistrations
- Administración-> Informes
Mi frustración con esto se ve agravado por el hecho de que todavía no existe una implementación real sólida de los subcontroladores y las áreas. Conozco el prototipo de "Áreas" creado por Phil Haack, pero no es muy maduro, y francamente, no estoy seguro de cómo me gusta la configuración, pero realmente no sé cómo me gustaría. para ver ese trabajo tampoco.
Supongo que cuando pienso en MVC, tiendo a pensar en REST también, y tener acciones de controlador que representen páginas en lugar de entidades o acciones reales no me sienta bien. ¿Qué piensas?
Esta es probablemente la mejor idea. Puedo ver el diseño de la parte del usuario del sitio para usar el material de MVC mientras se mantiene la lógica específica del administrador en los formularios web normales. Gracias por recordarme. – Chris