Está en la página 1de 8

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERÍA

ESCUELA ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS

MODELO VISTA CONTROLADOR (MVC)

TRABAJO FINAL

INTEGRANTES:

BAZAN ROMERO KEVIN ARNOLD


CHUNGA CHUNGA BETTSY HAYDEÉ
IMAN PEÑA LUIGI ALEXANDER
MAYTA GALLARDO YESSENIA

DOCENTE:

CORDOVA OTERO JUAN LUIS

CURSO:

TEMAS AVANZADOS DE INGENIERIA DE SISTEMAS

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.

5. Componentes del MVC


 Modelo: El modelo representa la información como tal, representan los datos con los
que la aplicación está trabajando, ya sea los datos de una tabla, un formulario, etc.
Podríamos decir que el modelo es la información la cual el usuario puede visualizar en
pantalla.
Por ejemplo este texto que estás leyendo en este momento es el modelo.
 Vista: Esta es la representación gráfica o pantalla que estás viendo en este momento,
La vista requiere del Modelo para mostrar la información en la pantalla.
 Controlador: El controlador es el puente entre la vista y el modelo, ya que desde el
controlador podemos hacer operaciones que cambien el modelo lo cual representa un
cambio en los datos de la vista.

El patrón MVC lo podrías ver de la siguiente manera:

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.

El MVC consta de:


 Una o más vistas de datos.
 Un modelo, el cual representa los datos y su comportamiento.
 Un controlador que controla la transición entre el procesamiento de los datos y su
visualización.
A continuación mostramos un esquema de este modelo:

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.

EL MODELO ES EL RESPONSABLE DE:


o Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea
independiente del sistema de almacenamiento.
o Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla
puede ser: "Si la mercancía pedida no está en el almacén, consultar el tiempo de
entrega estándar del proveedor".
o Lleva un registro de las vistas y controladores del sistema.
o Si estamos ante un modelo activo, notificará a las vistas los cambios que en los
datos pueda producir un agente externo (por ejemplo, un fichero por lotes que
actualiza los datos, un temporizador que desencadena una inserción, etc.).

EL CONTROLADOR ES RESPONSABLE DE:


o Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
o Contiene reglas de gestión de eventos, del tipo "SI Evento Z, entonces Acción
W". Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de
estas peticiones a las vistas puede ser una llamada al método "Actualizar()". Una
petición al modelo puede ser "Obtener_tiempo_de_entrega (
nueva_orden_de_venta )".

LAS VISTAS SON RESPONSABLES DE:


o Recibir datos del modelo y los muestra al usuario.
o Tienen un registro de su controlador asociado (normalmente porque además lo
instancia).
o Pueden dar el servicio de "Actualización()", para que sea invocado por el
controlador o por el modelo (cuando es un modelo activo que informa de los
cambios en los datos producidos por otros agentes).

El flujo que sigue el control generalmente es el siguiente:

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

También podría gustarte