En el mundo de MVC de ASP.NET, se han incluido muchas mejoras en ASP.NET en el propio marco. El propósito principal de este patrón de diseño es aislar la lógica empresarial de la interfaz del usuario para enfocarse en una mejor capacidad de mantenimiento, una mejor capacidad de prueba y una estructura más limpia para la aplicación.
ASP.NET MVC tiene ciertas capacidades que lo convierten en la mejor opción para elegir si necesita uno o más de los siguientes:
• Un alto nivel de control sobre el HTML generado : a diferencia de los formularios web, las vistas en ASP.NET MVC representan el HTML exactamente como se lo indica. Recientemente, los formularios web se han mejorado en esta área, pero aún no tienen el nivel de control que tiene MVC.
• Pruebas unitarias más sencillas : con ASP.NET MVC, es muy fácil seguir patrones de prueba como el desarrollo dirigido por pruebas (TDD). Debido al complejo ciclo de vida de los eventos en Web Forms, además de un marco basado en control, TDD es mucho más fácil con MVC.
• Separación de inquietudes : se refiere a tener todos los aspectos del sistema claramente separados unos de otros. Debido al patrón que implementa, una aplicación MVC se divide en partes discretas y poco ligadas (modelo, vistas y controladores), lo que facilita su mantenimiento.
Algunos de los otros beneficios son:
• El propio patrón MVC facilita la gestión de la complejidad al separar claramente la funcionalidad de la aplicación en tres partes principales, el modelo, la vista y el controlador.
• Las aplicaciones web ASP.NET MVC no usan el estado de vista ni los formularios basados en servidor. Esto hace que el marco MVC sea ideal para los desarrolladores que desean un control total sobre el comportamiento de una aplicación. El estado de la vista puede ser muy grande, lo cual es un problema para dispositivos como los teléfonos inteligentes que funcionan en redes lentas (la transmisión de toda esa información puede ser muy lenta). En una página de formularios web, solo puede tener uno por página. Esta es una restricción bastante importante. En MVC, no existe tal restricción, es decir, puede tener tantos elementos como desee.
• ASP.NET MVC proporciona un mejor soporte para el desarrollo guiado por pruebas (TDD).
• ASP.NET MVC funciona bien para aplicaciones web que son compatibles con grandes equipos de desarrolladores y para diseñadores web que necesitan un alto grado de control sobre el HTML.
ASP.NET MVC Request Processing