Bueno en esta ocasión dedicare esta entrada que es una breve introducción al patrón MVC , ya que ahora en mi nuevo trabajo estaré desarrollando para esta tecnología, así que veamos un poco de teoría =) .
El patrón de arquitectura Model-View-Controller (MVC) separa una aplicación en tres componentes principales: el modelo, la vista y el controlador. El ASP.NET MVC framework ofrece una alternativa al patrón de ASP.NET Web Forms para crear aplicaciones Web basadas en MVC. El marco de ASP.NET MVC es un marco de presentación de peso ligero, altamente comprobable que (como con aplicaciones basadas en formularios Web Forms) se integra con las características ASP.NET existentes, tales como páginas maestras y autenticación basada en membresía. El framework MVC se define en el espacio de nombres System.Web.Mvc y es una parte fundamental, con el apoyo del espacio de nombres System.Web .
MVC es un patrón de diseño estándar con el que muchos desarrolladores están familiarizados. Algunos tipos de aplicaciones Web podrán aprovechar el marco MVC. Otros continuará utilizando el patrón de aplicación ASP.NET tradicional basada en formularios Web Forms y las devoluciones de datos. Otros tipos de aplicaciones Web combinará los dos enfoques; ninguno de los dos enfoque excluye la otra.
MVC framework incluye los siguientes componentes:
Modelos. Los objetos de modelo son la parte de la aplicación que implementa la lógica para el dominio de datos de aplicaciones. A menudo, objetos del modelo de recuperan y almacenan el estado de la modelo en una base de datos. Por ejemplo, un objeto producto podría recuperar la información de una base de datos, operar en él y entonces escribir información actualizada de nuevo en una tabla de productos de SQL Server.
En pequeñas aplicaciones, el modelo es a menudo una separación conceptual en lugar de una física. Por ejemplo, si la aplicación sólo lee un conjunto de datos y envía a la vista, la aplicación no tiene una capa de modelo físico y clases asociadas. En ese caso, el conjunto de datos asume el papel de un objeto del modelo.
Views. Vistas son los componentes que muestran la interfaz de usuario de aplicación s (UI). Por lo general, esta interfaz de usuario se crea a partir de los datos del modelo. Un ejemplo sería una vista de edición de una tabla de productos que muestra cuadros de texto, listas desplegables, casillas de verificación basadas en el estado actual de un objeto de productos.
Controladores. Los controladores son los componentes que manejan la interacción con el usuario, trabajan con el modelo y en última instancia, seleccione una vista para representar que muestra la interfaz de usuario. En una aplicación MVC, la vista sólo muestra información; el controlador maneja y responde a la entrada del usuario y la interacción. Por ejemplo, el controlador trata los valores de cadena de consulta y pasa estos valores al modelo, que a su vez consulta la base de datos con los valores.
El patrón MVC le ayuda a crear aplicaciones que separan los distintos aspectos de la aplicación (entrada lógica, lógica de negocio y lógica de la interfaz de usuario), mientras que proporciona un acoplamiento flexible entre estos elementos. El patrón especifica donde debe colocarse cada tipo de lógica en la aplicación. La lógica de la interfaz de usuario pertenece desde el punto de vista. Entrada lógica pertenece en el controlador. Lógica empresarial pertenece en el modelo. Esta separación le ayuda a administrar la complejidad cuando se compila una aplicación, porque le permite centrarse en un aspecto de la aplicación a la vez. Por ejemplo, usted puede centrarse en la vista sin según la lógica de negocio.
Además de gestionar la complejidad, el patrón MVC facilita probar aplicaciones de lo que es para probar una aplicación Web de ASP.NET basadas en formularios Web Forms. Por ejemplo, en una aplicación Web de ASP.NET basadas en formularios Web Forms, una sola clase se utiliza para mostrar la salida y para responder a la entrada del usuario. Escribir pruebas automatizadas para aplicaciones ASP.NET basadas en formularios Web Forms puede ser complejo, porque para probar una página individual, debe instanciar la clase de página, todos sus controles secundarios y las clases dependientes adicionales en la aplicación. Porque se crean instancias de tantas clases para ejecutar la página, puede ser difícil de escribir las pruebas que se centran exclusivamente en las partes individuales de la aplicación. Pruebas para aplicaciones ASP.NET basadas en formularios Web Forms, por tanto, pueden ser más difíciles de aplicar que las pruebas en una aplicación MVC. Por otra parte, pruebas en una aplicación ASP.NET basadas en formularios Web Forms requieren un servidor Web. El framework MVC desacopla los componentes y hace un uso intensivo de interfaces, que le permite probar los componentes individuales en aislamiento del resto del marco.
El acoplamiento flexible entre los tres principales componentes de una aplicación MVC también promueve desarrollo paralelo. Por ejemplo, un desarrollador puede trabajar en la vista, un segundo desarrollador puede trabajar en la lógica del controlador, y un tercer desarrollador puede centrarse en la lógica de negocio en el modelo.
El articulo original en ingles se encuentra en la siguiente pagina :3.
http://www.asp.net/mvc/tutorials/older-versions/overview/asp-net-mvc-overview
Saludos.