Você está na página 1de 11

REPBLICA BOLIVARIANA DE VENEZUELA.

MINISTERIO DEL PODER POPULAR PARA


LA EDUCACIN UNIVERSITARIA
UNIVERSIDAD ALEJANDRO DE HUMBOLDT
FACULTAD DE INGENIERA EN INFORMTICA Y MANTENIMIENTO DE
OBRAS
CTEDRA: INGENIERA DEL SOFTWARE
SECCIN DCN604IIV1

PATRON MVC

Profesor:
Lus Pia

Integrantes:
Ana Maldonado C.I. 14 021 550
Juan Carrasco C.I. 24 888 172
Sergio Ortiz C.I. 82 137 379

Caracas, 8 de junio de 2016.

NDICE

NDICE .........................................................................................................................II
INTRODUCCIN .......................................................................................................III
EL PATRN MVC ....................................................................................................... 4
La Capa del Modelo .................................................................................................. 4
Responsabilidad de la capa del modelo ................................................................ 5
La Capa de La Vista .................................................................................................. 5
Responsabilidad de la capa de la vista .................................................................. 6
La Capa del Controlador ........................................................................................... 6
Responsabilidad de la capa del controlador .......................................................... 7
Flujo en MVC ........................................................................................................... 7
VARIANTES DE MVC............................................................................................ 8
Variante I: (Figura 1) ............................................................................................ 8
Variante II: (Figura 2) ........................................................................................... 8
Variante III: (Figura 3) .......................................................................................... 9
CONCLUSIN ........................................................................................................... 10
REFERENCIAS BIBLIOGRFICAS ........................................................................ 11

II

INTRODUCCIN

En este trabajo vamos a estudiar el patrn MVC, antes de esto tenemos que
saber que un patrn de diseo constituye una solucin a un problema de diseo
recurrente en programacin. Los patrones de facilitan el diseo de software al tener
una gua para el desarrollador de cmo debe funcionar de forma general el software.
Otro punto importante de los patrones es que en ellos se encuentran la experiencia de
varios aos de trabajo y buenas prcticas.
El patrn MVC es un patrn que tiene muchos aos en el mundo del
desarrollo y en gran medida se usa en el diseo de aplicaciones WEB. En este trabajo
vamos a encontrar los 3 elementos que lo componen, tambin las diferentes
variaciones que se pueden encontrar actualmente de este patrn.

III

EL PATRN MVC
M
Modelo Vista Controlador (MVC)
(
es un
u patrn dee arquitecturra de softwaare
q separa lo
que
os datos de una
u aplicacin, la interfaaz de usuarioo, y la lgicaa de control en
t compon
tres
nentes distinttos. El estiloo de llamada y retorno MVC,
M
se ve frecuentemen
fr
nte
e aplicacio
en
ones web, doonde la vistaa es la pginna HTML y el cdigo que
q provee de
d
datos
dinm
micos a la pgina. El moodelo es el que gestionaa los datos y la lgica de
n
negocio,
y el
e controladoor es el respoonsable de recibir
r
los evventos de enntrada desde la
v
vista.
ualmente, la mayora de los framewoorks para el desarrollo de
d aplicacionnes
Actu
w integran
web
n este patrn de diseoo, entre elloss Struts, Struuts 2 y Spriing MVC paara
J
Java,
Ruby onRails parra Ruby, Zend Framewoork, Symfonny y CakePH
HP para PH
HP,
A
ASP.NET
MVC
M
para laa familia de lenguajes
l
reecientes del ambiente
a
.N
NET. Incluso el
m
manejador
de
d contenidoo Joomla! tieene incluida una implem
mentacin deel patrn MV
VC
d
disponible
para
p realizar nuevas extennsiones a esaa herramientta.

La Capa
C
del Modelo
M
El modelo
m
repreesenta la parrte de la apllicacin quee implementta la lgica de
n
negocio.
Esto
E
significca que ess responsabble de la recuperacin de dattos
4

convirtindolos en conceptos significativos para la aplicacin, as como su


procesamiento, validacin, asociacin y cualquier otra tarea relativa a la
manipulacin de dichos datos.
A primera vista los objetos del modelo puede ser considerado como la primera
capa de la interaccin con cualquier base de datos que podra estar utilizando tu
aplicacin. Pero en general representan los principales conceptos en torno a los cuales
se desea implementar un programa.
En el caso de una red social, la capa de modelo se hara cargo de tareas tales
como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el
almacenamiento y la recuperacin de fotos de los usuarios, encontrar sugerencias de
nuevos amigos, etc. Mientras que los objetos del modelo pueden ser considerados
como Amigo, Usuario, Comentario y Foto.
Responsabilidad de la capa del modelo

Administrar los datos de la aplicacin y proveer los servicios asociados.

Proveer un acceso a los datos y los servicios para las vistas y los
controladores.

Registrar, como observadores, las vistas y los controladores que dependan de


la actualizacin del modelo.

Notificar a los observadores en caso de actualizacin.


La Capa de La Vista
La vista hace una presentacin de los datos del modelo estando separada de

los objetos del modelo. Es responsable del uso de la informacin de la cual dispone
para producir cualquier interfaz de presentacin de cualquier peticin que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista
los usara para hacer una pgina HTML que los contenga. O un resultado con formato
XML para que otras aplicaciones puedan consumir.

La capa de la Vista no se limita nicamente a HTML o texto que represente


los datos, sino que puede ser utilizada para ofrecer una amplia variedad de formatos
en funcin de sus necesidades tales como videos, msica, documentos y cualquier
otro formato que puedas imaginar.
Responsabilidad de la capa de la vista

Mostrar la informacin al usuario.

Actualizar la representacin grfica en caso de producirse alguna


actualizacin del modelo.

Buscar los datos del modelo.

Ofrecer posibilidades de manipulacin de representacin grfica para el


controlador asociado a la vista.

Crear e inicializar el controlador asociado.


La Capa del Controlador
La capa del controlador gestiona las peticiones de los usuarios. Es responsable

de responder la informacin solicitada con la ayuda tanto del modelo como de la


vista. Los controladores pueden ser vistos como administradores cuidando de que
todos los recursos necesarios para completar una tarea se deleguen a los trabajadores
ms adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a
las normas de autenticacin o autorizacin, delega la bsqueda de datos al modelo y
selecciona el tipo de respuesta ms adecuado segn las preferencias del cliente.
Finalmente delega este proceso de presentacin a la capa de la Vista.
Para entender cmo funciona nuestro patrn Modelo vista controlador, se
debe entender la divisin a travs del conjunto de estos tres elementos y como estos
componentes se comunican unos con los otros y con otras vistas y controladores
externos al modelo principal. Para ello, es importante saber que el controlador
interpreta las entradas del usuario (tanto teclado como el ratn), enviado el mensaje
de accin al modelo y a la vista para que se proceda con los cambios que se
consideren adecuados.

Responsabilidad de la capa del controlador

Administrar los eventos que provienen del usuario.

Traducir los eventos en consultas para el modelo o para la vista (manipulacin


de la representacin grfica).

Adaptar, si fuera necesario, los distintos componentes del controlador cuando


se produce alguna actualizacin en el modelo.
Flujo en MVC
Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo

que sigue el control generalmente es el siguiente:


1. El usuario interacta con la interfaz de usuario de alguna forma (por ejemplo,
el usuario pulsa un botn, enlace)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la
notificacin de la accin solicitada por el usuario. El controlador gestiona el
evento que llega, frecuentemente a travs de un gestor de eventos (handler) o
callback.
3. El controlador accede al modelo, actualizndolo, posiblemente modificndolo
de forma adecuada a la accin solicitada por el usuario. Los controladores
complejos estn a menudo estructurados usando un patrn de comando que
encapsula las acciones y simplifica su extensin.
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 (si se
utiliza la variante 2 descrita anteriormente, de lo contrario lo obtiene a travs
del Controlador). El modelo no debe tener conocimiento directo sobre la vista,
sin embargo, el patrn de observador puede ser utilizado para proveer cierta
comunicacin 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)
7

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 enve los datos del modelo a la vista, segn lo descrito en la
segunda variante.
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el
ciclo nuevamente.
VARIANTES DE MVC
Se han desarrollado a lo largo de los aos, desde la presentacin de este patrn
a la comunidad cientfica 3 variantes fundamentales, que se presentan brevemente a
continuacin.
Variante I: (Figura 1)
Variante en la cual no existe ninguna comunicacin entre el Modelo y la Vista y esta
ltima recibe los datos a mostrar a travs del Controlador.

Figura 1: Variante inicial del Patrn MVC.

Variante II: (Figura 2)


Variante en la cual se desarrolla una comunicacin entre el Modelo y la Vista,
donde esta ltima al mostrar los datos, la busca directamente en el Modelo, dada una
indicacin del Controlador, disminuyendo el conjunto de responsabilidades de este
ltimo.

Figura 2: Variante Intermedia del Patrn MVC.

Variante III: (Figura 3)


Variante en la cual se diversifica las funcionalidades del Modelo teniendo en
cuanta las caractersticas de las aplicaciones multimedia, donde tienen un gran peso
las medias utilizadas en estas.

Figura 3: Variante modificada para Aplicaciones Multimedia del MVC, conocida como
MVCMM. (Tomado de [STE04])

CONCLUSIN

Modelo vista controlador (MVC) es un patrn de diseo que separa los datos,
la lgica de negocios y las interfaces de usuario. Como ya su nombre lo dice est
separado en tres componentes: modelo, controlador y vista. Cuando se habla de
modelo este es la capa encargada de los datos, es decir tiene mecanismos para acceder
a la informacin y tambin para actualizar su estado, mientras que el controlador es la
capa que sirve de enlace entre vista y el modelo y vista se trata del cdigo que nos
permitir presentar los datos que el modelo nos proporciona.
Este separa por capas la aplicacin en modelos, vistas y controladores hace
que su aplicacin sea adems muy ligera de entender. Es importante saber que MVC
es un patrn enfocado en separar las responsabilidades dentro de una aplicacin y es
muy utilizado en la web por su enfoque y las ventajas que ofrece respectos algunas
otras formas o patrones de desarrollo de aplicaciones web.

10

REFERENCIAS BIBLIOGRFICAS

Debrauwer, L. (2013). Patrones de diseo en Java [Libro en lnea]. Ediciones ENI.


Disponiblehttps://books.google.co.ve/books?id=x8wRTkfnU4kC&pg=PA302
&dq=patron+mvc+-asp&hl=es&sa=X&ved=0ahUKEwi0ov2
KsZfNAhWK5CYKHeJyCZIQ6AEIGjAA#v=onepage&q=patron%20mvc%2
0-asp&f=false [Consulta: 2016, junio 5]
MVC y su importancia en la WEB [Pgina Web en lnea] Disponible:
(http://michelletorres.mx/mvc-y-su-importancia-en-la-web/) [Consulta: 2016,
junio 5]
Patrn de arquitectura Modelo Vista Controlador (MVC) [Pgina Web en lnea]
Disponible:

(http://www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html)

[Consulta: 2016, junio 5]

11

Você também pode gostar