2. MVC (Model View Controller)
Maneja el comportamiento
y los datos del dominio de
Es un patrón de arquitectura la aplicación
de software que separa los
datos de una aplicación, la
Model
interfaz de usuario y la
lógica de negocio en tres
componentes distintos o
capas conceptuales.
Recibe datos del modelo View
y los muestra al usuario. Controller
Recibe la entrada del usuario e
inicia una respuesta haciendo
llamadas a los objetos del modelo.
3. MVC (Model View Controller)...
• Originalmente fue implementado como un mapa tradicional
de ingreso:
– Ingreso de datos -> Proceso -> Salida de datos
– Controlador -> Modelo -> Vista
• No define exactamente las 3 capas clásicas de las
arquitecturas 3-tier: Presentación, lógica de negocios y
datos.
• En su lugar, define las responsabilidades y las dependencias
dependiendo de los objetivos que representa en tres
paradigmas: Modelo, Vista y Controlador.
• El patrón MVC se ve frecuentemente en aplicaciones web.
4. MVC - Model Model
• Los objetos de modelo son las partes de la aplicación que
implementan la lógica del dominio de datos de la aplicación.
• Representa a toda la información con la que opera la aplicación.
• Gestiona el comportamiento y los datos del dominio.
• Responde a las peticiones de información sobre el estado, que
vienen de la Vista.
• Responde a instrucciones de cambio de estado, provenientes del
Controlador.
• Interactúa con los repositorios (base de datos).
5. MVC - View View
• Las vistas son los componentes que muestra la
interfaz de usuario de la aplicación.
• La vista gestiona la presentación de la información
de la aplicación. Todo lo relativo a la interfaz de
usuario, los datos de que dispone para seguir
interactuando con la aplicación.
• Desde la interfaz gráfica a los estímulos que recibe
del usuario, visual, auditiva o sensitivamente.
6. MVC - Controller Controller
• El controlador administra y responde a los datos
proporcionados por el usuario y su interacción.
• Respuesta a eventos invocados desde la vista.
• Llama a la lógica de negocio para procesar y
producir una respuesta.
• Interpreta las entradas del usuario, informando al
modelo y/o a la vista de los cambios que supongan
esas entradas.
8. Ventajas
• Separa la manipulación de datos, la representación y el
control de eventos, permitiendo un código mantenible.
• Decrementa la duplicación de código.
• Centraliza el control de datos.
• Facilita el mantenimiento y modificación de la aplicación.
• Ayuda a equipos de desarrollo en centrarse en áreas
especificas.
• Mayor facilidad para añadir fuentes de datos y tipos de
clientes.
Modelos. Los objetos de modelo son las partes de la aplicación que implementan la lógica del dominio de datos de la aplicación. A menudo, los objetos de modelo recuperan y almacenan el estado del modelo en una base de datos. Por ejemplo, un objeto Product podría recuperar información de una base de datos, trabajar con ella y, a continuación, escribir la información actualizada en una tabla Productos de una base de datos de SQL Server. En las aplicaciones pequeñas, el modelo es a menudo una separación conceptual en lugar de física. Por ejemplo, si la aplicación solo lee un conjunto de datos y lo envía a la vista, la aplicación no tiene un nivel de modelo físico 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 aplicación. Normalmente, esta interfaz de usuario se crea a partir de los datos de modelo. Un ejemplo sería una vista de edición de una tabla Productos que muestra cuadros de texto, listas desplegables y casillas basándose en el estado actual de un objeto Product.Controladores. Los controladores son los componentes que controlan la interacción del usuario, trabajan con el modelo y por último seleccionan una vista para representar la interfaz de usuario. En una aplicación MVC, la vista solo muestra información; el controlador administra y responde a los datos proporcionados por el usuario y su interacción. Por ejemplo, el controlador administra los valores de la cadena de consulta y pasa estos valores al modelo, que a su vez podría utilizarlos para consultar la base de datos.