Escuela de Computación
Centro de Ingeniería de Software y Sistemas
Aplicaciones con Tecnología Internet II
Prof. Lic. Néstor Méndez
Semestre 2-2013
 Historia
 Definición
 Responsabilidades
 Flujo
 Ventajas
 Frameworks
 Conclusión
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
2
 Descrito


Trygve Reenskaug
Smalltalk de Xerox


por primera vez en 1979
PARC (Palo Alto Research Center Incorporated)
Programación de Aplicaciones en Smalltalk/80:
Como utilizar Modelo Vista Controlador.
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
3
Es un patrón de arquitectura de desarrollo de
software que separa los datos de una
aplicación, la interfaz de usuario, y la lógica
de negocio en tres componentes distintos.
 Facilitar
la evolución por separado de los
componentes
 Incrementa reutilización y flexibilidad
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
4

General en aplicaciones Web

El modelo



La vista



Representación específica de la información
Sistema de Gestión de Base de Datos
Presenta el modelo en un formato adecuado para
interactuar
Página HTML y el código que provee de datos dinámicos a
la página
El controlador



Administrar la lógica de negocio
Recibir los eventos de entrada desde la vista, usualmente
acciones del usuario
Invocar peticiones al modelo y, probablemente, a la vista
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
5
 Modelo



Acceder a la capa de almacenamiento de datos
Llevar un registro de las vistas y controladores
del sistema
Si estamos ante un modelo activo, notificará a
las vistas los cambios que en los datos pueda
producir un agente externo
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
6
 Vista



Recibir datos del modelo y los muestra al usuario
Tener un registro de su controlador asociado
Dar el servicio de actualización, para que sea
invocado por el controlador
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
7
 Controlador

Recibir los eventos de entrada


Un clic, un cambio en un campo de texto
Contener reglas de gestión de eventos

Estas acciones pueden suponer peticiones al modelo o
a las vistas.
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
8
Controlador
Vista
Lic Néstor Méndez | Sem. 2-2013
Modelo
03 de octubre de 2015
9
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
10
1. El
usuario interactúa con la interfaz de usuario
de alguna forma
2. El
usuario pulsa un botón, enlace, etc.
3. El
controlador recibe 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
4. El
controlador accede al modelo, posiblemente
modificándolo de forma correspondiente a la
acción solicitada por el usuario
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
11
5.
El controlador delega a los objetos de la vista la tarea de
desplegar la interfaz de usuario

6.
El modelo no debe tener conocimiento directo sobre la
vista. Sin embargo, se podría proveer cierta indirección
entre el modelo y la vista, permitiendo al modelo notificar
a los interesados de cualquier cambio

7.
La vista obtiene sus datos del modelo para generar la interfaz
apropiada para el usuario donde se reflejan los cambios en el
modelo
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
La interfaz de usuario espera nuevas interacciones del
usuario, comenzando el ciclo nuevamente
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
12
Controlador
Modelo
Vista
event
service
update
data
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
13
 Facilidad
de desarrollo y acortamiento del
tiempo de respuesta
 Facilita la especialización de perfiles de
programación
 Aumenta en gran medida el nivel de
reusabilidad de código
 Hay una clara separación entre los
componentes de un programa; lo cual nos
permite implementarlos por separado
 Se pueden añadir y actualizar controladores
y vistas conforme cambia el modelo
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
14
Lenguaje
Framework
Ruby
Ruby on Rails
Ruby
Ramaze
Java
Struts
Java
Spring
Java
Aurora
PHP
CakePHP
PHP
Symphony
PHP
ZendPHP
Python
Django
.NET
Spring .NET
.NET
Maverick .NET
.NET
ASP .NET MVC
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
15
 El
Modelo se encarga de interactuar con la
base de datos
 El Controlador procesa las peticiones de la
pagina web y envía estos datos a la capa
modelo
 La vista es el código HTML que se muestra
al usuario
 Aumenta la facilidad en el mantenimiento
del código
Lic Néstor Méndez | Sem. 2-2013
03 de octubre de 2015
16
Descargar

MVC Modelo/Vista/Controlador