Una de las cosas por las que mucha gente ha preguntado, a lo largo de los años, fue el soporte de ASP.Net para desarrollar aplicaciones usando la arquitectura “modelo vista controlador”.
Que es el MVC Framework?
MVC es una arquitectura que divide la implementación de una aplicacion en 3 componentes basados en roles: modelos, vistas y controladores.
-
“Modelos” en una aplicación basada en MVC son los componentes responsables de mantener el estado en una aplicación. Son tambien llamados “entidades de aplicación” (por ejemplo: podríamos manejarnos con entidades no tipadas en una aplicación, entidades tales como un DataTable, pero realmente estaríamos perdiendo cierta coherencia al pasar datos desde nuestra capa de negocio hasta nuestra capa de presentación)
-
"Vistas" en una aplicación basada en MVC son los componentes responsables de mostrar el interfaz de usuario de la aplicación.
-
"Controladores" en una aplicación basada en MVC son los componentes responsables del manejo de la interacción del usuario. Para una request determinada, manipulan los modelos, y finalmente eligen una vista para renderizar los datos del modelo.
Uno de los beneficios del uso de la metodología MVC, es que ayuda a asegurar la separacion de roles entre modelos, vistas y controladores en una aplicación.
Mantener esta separacion de roles, hace que el testeo de aplicaciones sea mucho mas sencillo, ya que el contrato entre las diferentes partes de una aplicación esta mas definido y articulado.
Algunos pequeños detalles sobre el ASP.Net MVC Framework
-
Es altamente extensible, todo lo que esta diseñado en el MVC Framework esta realizado para ser customizado o reemplazado.
-
Incluye un componente bastante potente que permite configurar el mapeo entre cada request de un usuario a la accion de un controller, lo que permite unas urls Seo friendly o REST, adecuadas para el posicionamiento web.
-
ASP.NET MVC soporta características actuales de ASP.Net como autenticación form y windows, membership y roles, gestcache de datos, gestion de sesión, gestion del estado, etc...