Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
TRABAJO FINAL
INTEGRANTES:
DOCENTE:
CURSO:
GUADALUPE – PERU
2019
MODELO VISTA CONTROLADOR (MVC)
1. Introducción
Las aplicaciones Web pueden desarrollarse utilizando cualquier
arquitectura posible. La arquitectura del patrón Modelo-Vista-
Controlador es un paradigma de programación bien conocido para el
desarrollo de aplicaciones con interfaz gráfica (GUI). En esta práctica
implementaremos una aplicación web utilizando el MVC.
2. Definición
Es un patrón de diseño de arquitectura de software usado principalmente en aplicaciones
que manejan gran cantidad de datos y transacciones complejas donde se necesita una mejor
separación de conceptos para que el desarrollo este estructurado de una mejor manera,
facilitando la programación en diferentes capas de manera paralela e independiente.
3. ¿En que consiste el MVC?
El principal objetivo de la arquitectura MVC es aislar tanto los datos de la aplicación como
el estado (modelo) de la misma, del mecanismo utilizado para representar (vista) dicho
estado, así como para modularizar esta vista y modelar la transición entre estados del
modelo (controlador).
4. ¿Cómo funciona el patrón?
El funcionamiento básico del patrón MVC, puede resumirse en:
a. El usuario realiza una petición
b. El controlador captura el evento (puede hacerlo mediante un manejador de eventos
– handler -, por ejemplo)
c. Hace la llamada al modelo/modelos correspondientes (por ejemplo, mediante una
llamada de retorno – callback -) efectuando las modificaciones pertinentes sobre el
modelo
d. El modelo será el encargado de interactuar con la base de datos, ya sea en forma
directa, con una capa de abstracción para ello, un Web Service, etc. y retornará esta
información al controlador
e. El controlador recibe la información y la envía a la vista
f. La vista, procesa esta información pudiendo hacerlo desde el enfoque que veremos
en este libro, creando una capa de abstracción para la lógica (quien se encargará de
procesar los datos) y otra para el diseño de la interfaz gráfica o GUI.
El propósito del MVC es aislar los cambios. Es una arquitectura preparada para los
cambios, que desacopla datos y lógica de negocio de la lógica de presentación, permitiendo
la actualización y desarrollo independiente de cada uno de los citados componentes.
6. Pasos
El usuario realiza una operación en la pantalla como presionar un botón.
El controlador recibe la petición de realizar una acción
El modelo es actualiza por medio del controlador el cual puede agregar, actualizar
o borrar información.
La vista es actualizada con los cambios realizados al modelo.
El usuario recibe las actualizaciones en pantalla.
7. Ventajas y Desventajas
Ventajas Desventajas
- La separación del modelo de la - La separación de conceptos en
vista, es decir, separar los datos de capas agrega complejidad al
la representación visual de los sistema.
mismos. - La cantidad de archivos a
- Es mucho más sencillo agregar mantener y desarrollar se
múltiples representaciones de los incrementa considerablemente.
mismos datos o información. - La curva de aprendizaje del patrón
- Facilita agregar nuevos tipos de de diseño es más alta que usando
datos según sea requerido por la otros modelos más sencillos.
aplicación ya que son
independientes del funcionamiento
de las otras capas.
- Crea independencia de
funcionamiento.
- Facilita el mantenimiento en caso
de errores.
- Ofrece maneras más sencillas para
probar el correcto funcionamiento
del sistema.
- Permite el escalamiento de la
aplicación en caso de ser
requerido.
1. El usuario
interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario
pulsa un botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación
de la acción solicitada por el usuario. El controlador gestiona el evento que llega,
frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de
forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador
actualiza el carro de la compra del usuario). Los controladores complejos están
a menudo estructurados usando un patrón de comando que encapsula las acciones
y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de
usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada
para el usuario donde se refleja los cambios en el modelo (por ejemplo, produce
un listado del contenido del carro de la compra). El modelo no debe tener
conocimiento directo sobre la vista. Sin embargo, se podría utilizar el patrón
Observador para proveer cierta indirección entre el modelo y la vista,
permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto
vista puede registrarse con el modelo y esperar a los cambios, pero aun así el
modelo en sí mismo sigue sin saber nada de la vista. El controlador no pasa
objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista
para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso
directo al modelo, dejando que el controlador envíe los datos del modelo a la
vista.
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el
ciclo nuevamente