ASP.NET MVC es básicamente un framework de desarrollo web diseñado y soportado por Microsoft, el cual combina las propiedades y ventajas de la arquitectura MVC (Model-View-Controller). También, combina las ideas y técnicas actuales del desarrollo Agil.

ASP.NET MVC no fue algo que se construyo desde cero, es un completa alternativa a los tradicionales ASP.NET Forms. El framework fue construido en base a ASP.NET y es la opción preferida de los desarrolladores para construir aplicaciones MVC.

Tomado de https://www.brainvire.com/blog/key-features-of-asp-net-core-mvc-to-build-scalable-applications/

Tomado de https://www.brainvire.com/blog/key-features-of-asp-net-core-mvc-to-build-scalable-applications/

Historia

ASP.NET fue publicador en el 5 de Enero del 2002, como parte del Framework .NET V1 y ambos fueron presentados al mismo tiempo. Cualquier aprendiz puede llegar a pensar que ASP.NET y Web Forms son las mis cosa. Sin Embargo, ASP.NET soporta dos capas de abstracción.

  • System.Web.UI – Comprende la capa de Web Forms, control services y ViewStates.
  • System.Web – Es un componente que incluye modules, manejadores HTTP, entre otros.

ASP.NET MVC fue anunciado en el 2007, cuando el patron MVC comenzó a ser en uno de las arquitecturas mas populares para la construcción de Frameworks.

En Abril del 2009, el código fuente de ASP.NET MVC fue publicado bajo la licencia MS-PL (Microsoft Public License). El framework ASP.NET MVC fue presentando como un componente liviano. enfocado al Testing y conservando las características de ASP.NET.

En Marzo del 2012, Microsoft publica su web stack (incluyendo ASP.NET MVC, Razor y Web API) bajo la licencia Open Source (Apache License 2.0). ASP.NET Web Forms no fue incluido en esta iniciativa.

¿Por que usar ASP.NET MVC?

Microsoft decidió crear su propio framework de MVC para crear aplicaciones web. Este framework esta construido en base de ASP.NET. En el pasado se debe recrear cosas elementos como un page load y un ciclo de vida propio. Con ASP.NET MVC ya no es necesario crear este “Estado de Ilusión”.

Otro objetivo de diseño de ASP.NET MVC es la extensibilidad en todos los aspectos del framework. Por ejemplo, cuando hablamos de las Views, la vista debe ser renderizada por un motor particular de plantillado. El motor por defecto usa los archivos por defectos ASPX y despliega la vista al usuarios. Pero si el desarrollador se siente mas cómodo con otro motor, puede extender la funcionalidad, como el plugin Razor.

Otro ejemplo es el modo como se instancia los controladores en ASP.NET MVC. Puede ser que al desarrollador no le guste este método o necesita inyectar lógica durante el proceso. Por medio del polimorfismo, el desarrollador podrá extender y respetar el funcionamiento del framework, incluyendo código propio.

La idea de usar la arquitectura MVC, es mantener la separación de intereses (separation of concerns). Se separa el Controller del View, de esta forma es mas fácil de realizar pruebas unitarias.

Beneficios de usar ASP.NET MVC

Los beneficios de usar el framework son:

  • Hace mas fácil el manejo de la complejidad de una aplicación, separando el modelo, la vista y el controlador.
  • Control total de lo componentes HTML y facilitar la re-utilización.
  • Uso de la separación de intereses (separation of concerns)
  • Facil implementación del patron TDD
  • Implementación precisa de los estándar HTML y responsive design.