Académique Documents
Professionnel Documents
Culture Documents
Carrera
Curso
PROGRAMACIÓN IV
Profesor
I Semestre
Estudiante
Mayo 7, 2011
ÍNDICE
1
INTRODUCCIÓN...................................................................................................2
Objetivo General:........................................................................................3
Objetivos Específicos:.........................................................................................4
ORIGEN............................................................................................................... 4
Modelo................................................................................................................ 5
Vista.................................................................................................................... 6
Controlador......................................................................................................... 7
DONDE ES UTILIZADO.......................................................................................10
Conclusiones..................................................................................................... 20
Bibliografía........................................................................................................ 21
INTRODUCCIÓN
2
aplicaciones financieras, de negocios y personales y redes o acceso a bases de
datos externas son algunas de los cientos de aplicaciones existentes en la
actualidad.
Objetivo General:
3
Explicar el concepto de Modelo Vista Controlador, analizar detalladamente
en qué consiste y dar a conocer la implementación tanto en aplicaciones
web como en aplicaciones de escritorio.
Objetivos Específicos:
ORIGEN
EL Modelo Vista Controlador fue descrito por primera vez en 1979 por Trygve
Reenskaug, trabajador de Smalltalk en laboratorios de investigación de Xerox.
4
En MVC soluciona muchos problemas separando el código en tres aéreas
distintas:
• Controlador: que contiene la lógica que decide que acciones deben ser
tomadas para cada una de las partes del sistema.
Estos tres componentes son los pilares principales del patrón en sí.
Modelo
Un modelo se puede ver como una representación abstracta de cómo los datos
son procesados por el sistema. “Los modelos están representados, como un
conjunto de datos y métodos necesarios para procesar estos datos por medio del
encapsulamiento de estos datos y funcionalidades” [3]. Deber ser independiente
de la entrada o salida de datos.
Un modelo puede ser dividido en varios sub-modelos pero todos estos sub-
modelos deben ser totalmente compatibles con el principal.
Características:
5
Lleva a cabo las tareas de la aplicación
Vista
La vista se encarga de desplegarle la información al usuario de la aplicación por
medio de una interfaz grafica, y obtener los datos del modelo. Es la única parte de
la aplicación que interactúa con el usuario.
6
Gracias es esta característica de múltiples vistas se pueden existir por ejemplo en
una aplicación una vista para el cliente, una vista del operador, o tener una vista
general del administrador del sistema.
Cada vista tiene asociado un controlador que recibe la entrada de los datos, la
cual debe pasar al modelo para obtener un resultado. Cada vez que el modelo
devuelve algún resultado a la vista, esta se debe actualizar para desplegar la
nueva información en la pantalla.
Controlador
Los controladores son asociados a las vistas en una relación uno a uno, existen
tantos controladores como vistas en una aplicación.
7
traduciendo estos para ser interpretados tanto para la vista como el modelo, esto
se realiza por cada evento notable que se obtenga.
“El comportamiento del controlador es definido por los diferentes estados del
modelo, este registra cualquier cambio que se presente, disparando un proceso
para que se actualice la información” [3].
8
• Vistas Múltiples: permite mostrar el estado en que se encuentra el modelo
de diferentes maneras como por ejemplo los juegos. Permitiendo tener una
vista para mostrar el estado del modelo y otra vista que recoge los datos.
9
Controlador genéricas que realicen todas las tareas de
comunicación, notificación y actualización que serán luego
transparentes para el desarrollo de la aplicación.
DONDE ES UTILIZADO
Para el diseño de aplicaciones con sofisticados interfaces se utiliza el patrón de
diseño Modelo-Vista-Controlador. La lógica de un interfaz de usuario cambia con
más frecuencia que los almacenes de datos y la lógica de negocio. Si realizamos
un diseño ofuscado, es decir, un pastiche que mezcle los componentes de interfaz
y de negocio, entonces la consecuencia será que, cuando necesitemos cambiar el
interfaz, tendremos que modificar trabajosamente los componentes de negocio.
Mayor trabajo y más riesgo de error.
Se trata de realizar un diseño que desacople la vista del modelo, con la finalidad
de mejorar la reusabilidad. De esta forma las modificaciones en las vistas
impactan en menor medida en la lógica de negocio o de datos.
Variante I:
10
Variante en la cual no existe ninguna comunicación entre el Modelo y la Vista y
esta última recibe los datos a mostrar a través del Controlador.
Variante II:
Variante III:
11
Variante en la cual se diversifica las funcionalidades del Modelo teniendo en
cuenta las características de las aplicaciones multimedia, donde tienen un gran
peso las medias utilizadas en estas.
12
través del Controlador). El modelo no debe tener conocimiento directo sobre
la vista. Sin embargo, el patrón de observador puede ser utilizado 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, según lo descrito en la segunda variante.
5. La interfaz de usuario espera nuevas interacciones del usuario,
comenzando el ciclo nuevamente.
Figura1 [2]
Como lo muestra la figura 1 este es un típico ejemplo del diagrama del MVC para
una aplicación Desktop, en este se muestra la independencia que existente entre
cada uno de los componentes que integran el patrón.
13
La Vista despliega la información del modelo en formato correspondiente en este
caso una interfaz grafica
Ejemplo:
Vista de administrador
Vista de usuario
14
Controlador
Modelo
15
MVC para aplicaciones Web
Figura 2 [4]
Como lo muestra la figura 2 este es ejemplo del diagrama del MVC para una
aplicación web, en este se muestra la independencia que existente entre cada uno
de los componentes que integran el patrón, así mismo nos muestra los otros
componentes que interactúan con el modelo como lo es el clientes web y internet,
que es a través de este último es que se puede utilizar la aplicación.
• Los elementos que debe tener la vista: Business logic widgets (botones que
realizan determinada acción), Navigation widgets que permiten la
navegación dentro del sitio, Skin (el color estándar del sitio o
presentaciones diferentes de este).
16
• View Technologies.
• Plantillas.
En primer lugar, el código PHP puro con toda la lógica de negocio se incluye en el
script del controlador, como se muestra a continuación.
17
La parte del controlador, en index.php
Código:
Código:
18
Una buena regla general para determinar si la parte de la vista está
suficientemente limpia de código es que debería contener una cantidad mínima de
código, la suficiente como para que un diseñador HTML sin conocimientos pueda
entenderla.
Código:
El script del modelo solamente se encarga del acceso a los datos y puede ser
reorganizado a tal efecto. Todos los parámetros que no dependen de la capa de
datos se deben obtener a través del controlador y por tanto, no se puede acceder
a ellos directamente desde el modelo. Las funciones del modelo se pueden
reutilizar fácilmente en otros controladores.
19
Conclusiones
20
Bibliografía
http://www.ucbcba.edu.bo/Publicaciones/revistas/actanova/documentos/
v2n4/v2.n4.bascon.pdf) Visitado el 04-06-2011
Patrón "Modelo-Vista-Controlador"
[2] Joseph Bergin. Building Graphical User Interfaces with the MVC pattern.
del-View-Controller (MVC).
http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html.
21