Está en la página 1de 4

Informacin general sobre MVC en ASP.

NET
El modelo de arquitectura Model-View-Controller (MVC) separa una aplicacin en tres componentes principales: el modelo, la vista y el controlador.El marco de ASP.NET MVC proporciona una alternativa al modelo de formularios Web Forms de ASP.NET para crear aplicaciones web.El marco de ASP.NET MVC es un marco de presentacin de poca complejidad y fcil de comprobar que (como las aplicaciones basadas en formularios Web Forms) se integra con las caractersticas de ASP.NET existentes, como pginas maestras y la autenticacin basada en pertenencia.El marco de MVC se define en el ensamblado System.Web.Mvc. Modelo de diseo de MVC

MVC es un modelo de diseo estndar con el que estn familiarizados muchos desarrolladores.Algunos tipos de aplicaciones web salen beneficiadas con el marco de MVC.Otras seguirn utilizando el modelo de la aplicacin ASP.NET tradicional que est basado en formularios Web Forms y postbacks.Otros tipos de aplicaciones web combinarn las dos estrategias; una no excluye a la otra. El marco de MVC incluye los componentes siguientes:

Modelos.Los objetos de modelo son las partes de la aplicacin que implementan la lgica del dominio de datos de la aplicacin.A menudo, los objetos de modelo recuperan y almacenan el estado del modelo en una base de datos.Por ejemplo, un objeto Product podra recuperar informacin de una base de datos, trabajar con ella y, a continuacin, escribir la informacin actualizada en una tabla Productos de una base de datos de SQL Server. En las aplicaciones pequeas, el modelo es a menudo una separacin conceptual en lugar de fsica.Por ejemplo, si la aplicacin solo lee un conjunto de datos y lo enva a la vista, la aplicacin no tiene un nivel de modelo fsico y las clases asociadas.En ese caso, el conjunto de datos asume el rol de un objeto de modelo.

Vistas.Las vistas son los componentes que muestra la interfaz de usuario de la aplicacin.Normalmente, esta interfaz de usuario se crea a partir de los datos de modelo.Un

ejemplo sera una vista de edicin de una tabla Productos que muestra cuadros de texto, listas desplegables y casillas basndose en el estado actual de un objeto Product. Controladores.Los controladores son los componentes que controlan la interaccin del usuario, trabajan con el modelo y por ltimo seleccionan una vista para representar la interfaz de usuario.En una aplicacin MVC, la vista solo muestra informacin; el controlador administra y responde a los datos proporcionados por el usuario y su interaccin.Por ejemplo, el controlador administra los valores de la cadena de consulta y pasa estos valores al modelo, que a su vez podra utilizarlos para consultar la base de datos.

El modelo de MVC le ayuda a crear aplicaciones que separan los aspectos diferentes de la aplicacin (lgica de entrada, lgica comercial y lgica de la interfaz de usuario), proporcionando un vago acoplamiento entre estos elementos.El modelo especifica dnde se debera encontrar cada tipo de lgica en la aplicacin.La lgica de la interfaz de usuario pertenece a la vista.La lgica de entrada pertenece al controlador.La lgica comercial pertenece al modelo.Esta separacin le ayuda a administrar la complejidad al compilar una aplicacin, ya que le permite centrarse en cada momento en un nico aspecto de la implementacin.Por ejemplo, se puede centrar en la vista sin estar condicionado por la lgica comercial. El acoplamiento vago entre los tres componentes principales de una aplicacin MVC tambin favorece el desarrollo paralelo.Por ejemplo, un desarrollador de software puede trabajar en la vista, un segundo desarrollador puede ocuparse de la lgica del controlador y un tercero se puede centrar en la lgica comercial del modelo.

Compatibilidad con el desarrollo basado en pruebas


Adems de administrar la complejidad, el modelo de MVC hace que sea ms fcil probar las aplicaciones que probar una aplicacin web ASP.NET basada en formularios Web Forms.Por ejemplo, en una aplicacin web ASP.NET basada en formularios Web Forms, se utiliza una clase nica para mostrar la salida y para responder a los datos proporcionados por el usuario.Escribir pruebas automatizadas para las aplicaciones ASP.NET basadas en formularios Web Forms puede ser complejo, porque para probar una pgina individual se deben crear instancias de la clase de pgina, todos sus controles secundarios y las clases dependientes adicionales de la aplicacin.Dado que se crean instancias de tantas clases para ejecutar la pgina, puede ser difcil escribir pruebas que se centren exclusivamente en partes individuales de la aplicacin.Las pruebas para las aplicaciones ASP.NET basadas en formularios Web Forms pueden ser por consiguiente ms difciles de implementar que las pruebas de una aplicacin MVC.Es ms, las pruebas en una aplicacin ASP.NET basada en formularios Web Forms requieren un servidor web.El marco de MVC desacopla los componentes y hace un uso intensivo de las interfaces, lo cual hace posible probar los componentes individuales aislados del resto del marco.

Cundo se crea una aplicacin MVC


Debe considerar cuidadosamente si desea implementar una aplicacin web utilizando el marco de ASP.NET MVC o el modelo de formularios Web Forms de ASP.NET.El marco de MVC no reemplaza el modelo de formularios Web Forms; puede utilizar cualquiera de los dos marcos para las aplicaciones web.(Si ya tiene aplicaciones basadas en formularios Web Forms, estas seguirn funcionando exactamente igual que siempre.)

Antes de decidir utilizar el marco de MVC o el modelo de formularios Web Forms para un sitio web concreto, sopese las ventajas de cada enfoque.

Ventajas de una aplicacin web basada en MVC


El marco de ASP.NET MVC ofrece las ventajas siguientes:

Facilita la administracin de la complejidad, al dividir una aplicacin en el modelo, la vista y el controlador. No utiliza el estado de vista ni formularios basados en servidor.Esto hace el marco de MVC sea ideal para los desarrolladores que deseen un control completo sobre el comportamiento de una aplicacin. Utiliza un modelo Controlador frontal que procesa las solicitudes de la aplicacin web a travs de un controlador nico.Esto permite disear una aplicacin que admite una infraestructura de enrutamiento avanzada.Para obtener ms informacin, vea Front Controller. Proporciona una mayor compatibilidad con el desarrollo basado en pruebas (TDD). Funciona bien para las aplicaciones web en las que trabajan equipos grandes de desarrolladores y para los diseadores web que necesitan un alto grado de control sobre el comportamiento de la aplicacin.

Ventajas de una aplicacin web basada en formularios Web Forms


El marco basado en formularios Web Forms ofrece las ventajas siguientes:

Admite un modelo de eventos que conserva el estado sobre HTTP, lo cual favorece al desarrollo de la aplicacin web de lnea de negocio.La aplicacin basada en formularios Web Forms proporciona docenas de eventos que se admiten en centenares de controles de servidor. Utiliza un modelo Controlador de pgina que agrega funcionalidad a las pginas individuales.Para obtener ms informacin, vea Page Controller. Utiliza el estado de vista de los formularios basados en servidor, lo cual puede facilitar la administracin de la informacin de estado. Funciona bien para los equipos pequeos de desarrolladores web y los diseadores que deseen aprovechar el gran nmero de componentes disponible para el desarrollo rpido de aplicaciones. En general, es menos complejo para el desarrollo de aplicaciones, puesto que los componentes (la clase Page, controles, etc.) se integran estrechamente y suelen requerir menos cdigo que el modelo de MVC.

Caractersticas del marco de ASP.NET MVC


El marco de ASP.NET MVC ofrece las caractersticas siguientes:

Separacin de tareas de aplicacin (lgica de entrada, lgica comercial y lgica de la interfaz de usuario), facilidad para pruebas y desarrollo basado en pruebas (TDD).Todos los contratos principales del marco de MVC estn basados en interfaz y se pueden probar utilizando objetos ficticios, esto es, objetos ficticios que imitan el comportamiento de objetos reales en la aplicacin.Puede hacer una prueba unitaria de la aplicacin sin tener que ejecutar los controladores en un proceso de ASP.NET, lo cual hace que las pruebas unitarias sean rpidas y

flexibles.Puede utilizar cualquier marco de pruebas unitarias que sea compatible con .NET Framework. Un marco extensible y conectable.Los componentes del marco de ASP.NET MVC estn diseados para que se puedan reemplazar o personalizar con facilidad.Puede conectar su propio motor de vista, directiva de enrutamiento de URL, serializacin de parmetros de mtodo y accin y otros componentes.El marco de ASP.NET MVC tambin admite el uso de los modelos de contenedor Inyeccin de dependencia (DI) e Inversin de control (IOC).DI permite insertar objetos en una clase, en lugar de depender de que la clase cree el propio objeto.IOC especifica que si un objeto requiere otro objeto, el primer objeto debe obtener el segundo objeto de un origen externo como un archivo de configuracin.Esto facilita las pruebas. Amplia compatibilidad para el enrutamiento de ASP.NET, un eficaz componente de asignacin de direcciones URL que le permite compilar aplicaciones que tienen direcciones URL comprensibles y que admiten bsquedas.Las direcciones URL no tienen que incluir las extensiones de los nombres de archivo y estn diseadas para admitir patrones de nombres de direcciones URL que funcionan bien para la optimizacin del motor de bsqueda (SEO) y el direccionamiento de transferencia de estado representacional (REST, Representational State Transfer).. Compatibilidad para utilizar el marcado en archivos de marcado de pginas de ASP.NET existentes (archivos .aspx), de controles de usuario (archivos .ascx) y de pginas maestras (archivos .master) como plantillas de vista.Puede utilizar las caractersticas de ASP.NET existentes con el marco de ASP.NET MVC, como pginas maestras anidadas, expresiones en lnea ( <%= %>), controles de servidor declarativos, plantillas, enlace de datos, localizacin, etc. Compatibilidad con las caractersticas de ASP.NET existentes.ASP.NET MVC le permite utilizar caractersticas como autenticacin de formularios y autenticacin de Windows, autorizacin para URL, pertenencia y roles, almacenamiento en cach de resultados y datos, administracin de estados de sesin y perfil, seguimiento de estado, el sistema de configuracin y la arquitectura de proveedor.

También podría gustarte