SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
REPÚBLICA BOLIVARIANA DE VENEZUELA.
MINISTERIO DEL PODER POPULAR PARA
LA EDUCACIÓN UNIVERSITARIA
UNIVERSIDAD ALEJANDRO DE HUMBOLDT
FACULTAD DE INGENIERÍA EN INFORMÁTICA Y MANTENIMIENTO DE
OBRAS
CÁTEDRA: INGENIERÍA DEL SOFTWARE
SECCIÓN DCN604IIV1
PATRON MVC
Profesor: Integrantes:
Luís Piña 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.
II
ÍNDICE
 
ÍNDICE .........................................................................................................................II 
INTRODUCCIÓN .......................................................................................................III 
EL PATRÓN 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 
CONCLUSIÓN...........................................................................................................10 
REFERENCIAS BIBLIOGRÁFICAS........................................................................11 
III
INTRODUCCIÓN
En este trabajo vamos a estudiar el patrón MVC, antes de esto tenemos que
saber que un patrón de diseño constituye una solución a un problema de diseño
recurrente en programación. Los patrones de facilitan el diseño de software al tener
una guía para el desarrollador de cómo debe funcionar de forma general el software.
Otro punto importante de los patrones es que en ellos se encuentran la experiencia de
varios años de trabajo y buenas prácticas.
El patrón MVC es un patrón que tiene muchos años en el mundo del
desarrollo y en gran medida se usa en el diseño de aplicaciones WEB. En este trabajo
vamos a encontrar los 3 elementos que lo componen, también las diferentes
variaciones que se pueden encontrar actualmente de este patrón.
q
t
e
d
n
v
w
J
A
m
d
n
Mod
que separa lo
tres compon
en aplicacio
datos dinám
negocio, y e
vista.
Actu
web integran
Java, Ruby
ASP.NET M
manejador d
disponible p
El m
negocio. E
elo Vista C
os datos de u
nentes distint
ones web, do
micos a la pá
el controlado
ualmente, la
n este patró
onRails par
MVC para la
de contenido
para realizar
modelo repre
Esto signific
EL
ontrolador (
una aplicació
tos. El estilo
onde la vista
ágina. El mo
or es el respo
mayoría de
ón de diseño
ra Ruby, Ze
a familia de l
o Joomla! tie
nuevas exten
La C
esenta la par
ca que es
PATRÓN M
(MVC) es u
ón, la interfa
o de llamada
a es la págin
odelo es el
onsable de r
los framewo
o, entre ellos
nd Framewo
lenguajes re
ene incluida
nsiones a esa
Capa del M
rte de la apl
s responsab
MVC
un patrón de
az de usuario
y retorno M
na HTML y
que gestiona
recibir los ev
orks para el
s Struts, Stru
ork, Symfon
ecientes del a
una implem
a herramient
Modelo
licación que
ble de la
e arquitectur
o, y la lógica
MVC, se ve fr
y el código q
a los datos
ventos de en
desarrollo d
uts 2 y Spri
ny y CakePH
ambiente .N
mentación de
ta.
e implement
recuperació
ra de softwa
a de control
frecuentemen
que provee
y la lógica
ntrada desde
de aplicacion
ing MVC pa
HP para PH
NET. Incluso
el patrón MV
ta la lógica
ón de dat
4
are
en
nte
de
de
la
nes
ara
HP,
el
VC
de
tos
5
convirtiéndolos en conceptos significativos para la aplicación, así como su
procesamiento, validación, asociación y cualquier otra tarea relativa a la
manipulación de dichos datos.
A primera vista los objetos del modelo puede ser considerado como la primera
capa de la interacción con cualquier base de datos que podría estar utilizando tu
aplicación. 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 haría cargo de tareas tales
como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el
almacenamiento y la recuperación 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 aplicación 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 actualización del modelo.
 Notificar a los observadores en caso de actualización.
La Capa de La Vista
La vista hace una presentación de los datos del modelo estando separada de
los objetos del modelo. Es responsable del uso de la información de la cual dispone
para producir cualquier interfaz de presentación de cualquier petición que se presente.
Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista
los usaría para hacer una página HTML que los contenga. O un resultado con formato
XML para que otras aplicaciones puedan consumir.
6
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 función de sus necesidades tales como videos, música, documentos y cualquier
otro formato que puedas imaginar.
Responsabilidad de la capa de la vista
 Mostrar la información al usuario.
 Actualizar la representación gráfica en caso de producirse alguna
actualización del modelo.
 Buscar los datos del modelo.
 Ofrecer posibilidades de manipulación de representación gráfica 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 información 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
más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a
las normas de autenticación o autorización, delega la búsqueda de datos al modelo y
selecciona el tipo de respuesta más adecuado según las preferencias del cliente.
Finalmente delega este proceso de presentación a la capa de la Vista.
Para entender cómo funciona nuestro patrón Modelo vista controlador, se
debe entender la división a través 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 ratón), enviado el mensaje
de acción al modelo y a la vista para que se proceda con los cambios que se
consideren adecuados.
7
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 (manipulación
de la representación gráfica).
 Adaptar, si fuera necesario, los distintos componentes del controlador cuando
se produce alguna actualización 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 interactúa con la interfaz de usuario de alguna forma (por ejemplo,
el usuario pulsa un botón, enlace)
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. 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 (si se
utiliza la variante 2 descrita anteriormente, de lo contrario lo obtiene a 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
comunicació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)
8
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.
VARIANTES DE MVC
Se han desarrollado a lo largo de los años, desde la presentación de este patrón
a la comunidad científica 3 variantes fundamentales, que se presentan brevemente a
continuación.
Variante I: (Figura 1)
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.
Figura 1: Variante inicial del Patrón MVC.
Variante II: (Figura 2)
Variante en la cual se desarrolla una comunicación entre el Modelo y la Vista,
donde esta última al mostrar los datos, la busca directamente en el Modelo, dada una
indicación del Controlador, disminuyendo el conjunto de responsabilidades de este
último.
9
Figura 2: Variante Intermedia del Patrón MVC.
Variante III: (Figura 3)
Variante en la cual se diversifica las funcionalidades del Modelo teniendo en
cuanta las características 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])
10
CONCLUSIÓN
Modelo vista controlador (MVC) es un patrón de diseño que separa los datos,
la lógica 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 información y también 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 código que nos
permitirá presentar los datos que el modelo nos proporciona.
Este separa por capas la aplicación en modelos, vistas y controladores hace
que su aplicación sea además muy ligera de entender. Es importante saber que MVC
es un patrón enfocado en separar las responsabilidades dentro de una aplicación 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.
11
REFERENCIAS BIBLIOGRÁFICAS
Debrauwer, L. (2013). Patrones de diseño en Java [Libro en línea]. 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 [Página Web en línea] Disponible:
(http://michelletorres.mx/mvc-y-su-importancia-en-la-web/) [Consulta: 2016,
junio 5]
Patrón de arquitectura Modelo Vista Controlador (MVC) [Página Web en línea]
Disponible: (http://www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html)
[Consulta: 2016, junio 5]

Más contenido relacionado

La actualidad más candente

Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1jmpov441
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos Juan Henao
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...Jesús Navarro
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
Presentacion herramientas CASE
Presentacion herramientas CASEPresentacion herramientas CASE
Presentacion herramientas CASEdavidsande
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 

La actualidad más candente (20)

Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1
 
UML
UMLUML
UML
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
MVC
MVCMVC
MVC
 
Fcaps
FcapsFcaps
Fcaps
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
Presentacion herramientas CASE
Presentacion herramientas CASEPresentacion herramientas CASE
Presentacion herramientas CASE
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 

Similar a modelo vista controlador

Similar a modelo vista controlador (20)

Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Mvc
MvcMvc
Mvc
 
Mvc
MvcMvc
Mvc
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
MVC
MVCMVC
MVC
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Monografia top sw
Monografia top swMonografia top sw
Monografia top sw
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx
 
Programacion 3 mvc
Programacion 3 mvcProgramacion 3 mvc
Programacion 3 mvc
 
Asp
AspAsp
Asp
 
Arquitectura Mvc
Arquitectura MvcArquitectura Mvc
Arquitectura Mvc
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfaces
 

Más de com2merwil

realidad virtual y aumentada
realidad virtual y aumentadarealidad virtual y aumentada
realidad virtual y aumentadacom2merwil
 
Ing del software
Ing del softwareIng del software
Ing del softwarecom2merwil
 
Trabajo internet profunda
Trabajo internet profundaTrabajo internet profunda
Trabajo internet profundacom2merwil
 
Trabajo ingenieria del software blue watch
Trabajo ingenieria del software blue watchTrabajo ingenieria del software blue watch
Trabajo ingenieria del software blue watchcom2merwil
 
Aplicaciones y bases de datos en la nube
Aplicaciones y bases de datos en la nubeAplicaciones y bases de datos en la nube
Aplicaciones y bases de datos en la nubecom2merwil
 
Ingeniería del software (bd en la nube)
Ingeniería del software (bd en la nube)Ingeniería del software (bd en la nube)
Ingeniería del software (bd en la nube)com2merwil
 
realidad virtual realidad aumentada
realidad virtual realidad aumentadarealidad virtual realidad aumentada
realidad virtual realidad aumentadacom2merwil
 
Metodo blue watch
Metodo blue watchMetodo blue watch
Metodo blue watchcom2merwil
 

Más de com2merwil (13)

realidad virtual y aumentada
realidad virtual y aumentadarealidad virtual y aumentada
realidad virtual y aumentada
 
Ing del software
Ing del softwareIng del software
Ing del software
 
Trabajo internet profunda
Trabajo internet profundaTrabajo internet profunda
Trabajo internet profunda
 
Trabajo ingenieria del software blue watch
Trabajo ingenieria del software blue watchTrabajo ingenieria del software blue watch
Trabajo ingenieria del software blue watch
 
Mda mde
Mda mdeMda mde
Mda mde
 
Mda mde
Mda   mdeMda   mde
Mda mde
 
Aplicaciones y bases de datos en la nube
Aplicaciones y bases de datos en la nubeAplicaciones y bases de datos en la nube
Aplicaciones y bases de datos en la nube
 
Ingeniería del software (bd en la nube)
Ingeniería del software (bd en la nube)Ingeniería del software (bd en la nube)
Ingeniería del software (bd en la nube)
 
realidad virtual realidad aumentada
realidad virtual realidad aumentadarealidad virtual realidad aumentada
realidad virtual realidad aumentada
 
Mvc prezi
Mvc preziMvc prezi
Mvc prezi
 
Mda mde
Mda   mdeMda   mde
Mda mde
 
Deep web
Deep webDeep web
Deep web
 
Metodo blue watch
Metodo blue watchMetodo blue watch
Metodo blue watch
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 

Último (20)

Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 

modelo vista controlador

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA UNIVERSIDAD ALEJANDRO DE HUMBOLDT FACULTAD DE INGENIERÍA EN INFORMÁTICA Y MANTENIMIENTO DE OBRAS CÁTEDRA: INGENIERÍA DEL SOFTWARE SECCIÓN DCN604IIV1 PATRON MVC Profesor: Integrantes: Luís Piña 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.
  • 2. II ÍNDICE   ÍNDICE .........................................................................................................................II  INTRODUCCIÓN .......................................................................................................III  EL PATRÓN 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  CONCLUSIÓN...........................................................................................................10  REFERENCIAS BIBLIOGRÁFICAS........................................................................11 
  • 3. III INTRODUCCIÓN En este trabajo vamos a estudiar el patrón MVC, antes de esto tenemos que saber que un patrón de diseño constituye una solución a un problema de diseño recurrente en programación. Los patrones de facilitan el diseño de software al tener una guía para el desarrollador de cómo debe funcionar de forma general el software. Otro punto importante de los patrones es que en ellos se encuentran la experiencia de varios años de trabajo y buenas prácticas. El patrón MVC es un patrón que tiene muchos años en el mundo del desarrollo y en gran medida se usa en el diseño de aplicaciones WEB. En este trabajo vamos a encontrar los 3 elementos que lo componen, también las diferentes variaciones que se pueden encontrar actualmente de este patrón.
  • 4. q t e d n v w J A m d n Mod que separa lo tres compon en aplicacio datos dinám negocio, y e vista. Actu web integran Java, Ruby ASP.NET M manejador d disponible p El m negocio. E elo Vista C os datos de u nentes distint ones web, do micos a la pá el controlado ualmente, la n este patró onRails par MVC para la de contenido para realizar modelo repre Esto signific EL ontrolador ( una aplicació tos. El estilo onde la vista ágina. El mo or es el respo mayoría de ón de diseño ra Ruby, Ze a familia de l o Joomla! tie nuevas exten La C esenta la par ca que es PATRÓN M (MVC) es u ón, la interfa o de llamada a es la págin odelo es el onsable de r los framewo o, entre ellos nd Framewo lenguajes re ene incluida nsiones a esa Capa del M rte de la apl s responsab MVC un patrón de az de usuario y retorno M na HTML y que gestiona recibir los ev orks para el s Struts, Stru ork, Symfon ecientes del a una implem a herramient Modelo licación que ble de la e arquitectur o, y la lógica MVC, se ve fr y el código q a los datos ventos de en desarrollo d uts 2 y Spri ny y CakePH ambiente .N mentación de ta. e implement recuperació ra de softwa a de control frecuentemen que provee y la lógica ntrada desde de aplicacion ing MVC pa HP para PH NET. Incluso el patrón MV ta la lógica ón de dat 4 are en nte de de la nes ara HP, el VC de tos
  • 5. 5 convirtiéndolos en conceptos significativos para la aplicación, así como su procesamiento, validación, asociación y cualquier otra tarea relativa a la manipulación de dichos datos. A primera vista los objetos del modelo puede ser considerado como la primera capa de la interacción con cualquier base de datos que podría estar utilizando tu aplicación. 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 haría cargo de tareas tales como guardar datos del usuario, el almacenamiento de asociaciones con amigos, el almacenamiento y la recuperación 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 aplicación 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 actualización del modelo.  Notificar a los observadores en caso de actualización. La Capa de La Vista La vista hace una presentación de los datos del modelo estando separada de los objetos del modelo. Es responsable del uso de la información de la cual dispone para producir cualquier interfaz de presentación de cualquier petición que se presente. Por ejemplo, como la capa de modelo devuelve un conjunto de datos, la vista los usaría para hacer una página HTML que los contenga. O un resultado con formato XML para que otras aplicaciones puedan consumir.
  • 6. 6 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 función de sus necesidades tales como videos, música, documentos y cualquier otro formato que puedas imaginar. Responsabilidad de la capa de la vista  Mostrar la información al usuario.  Actualizar la representación gráfica en caso de producirse alguna actualización del modelo.  Buscar los datos del modelo.  Ofrecer posibilidades de manipulación de representación gráfica 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 información 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 más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las normas de autenticación o autorización, delega la búsqueda de datos al modelo y selecciona el tipo de respuesta más adecuado según las preferencias del cliente. Finalmente delega este proceso de presentación a la capa de la Vista. Para entender cómo funciona nuestro patrón Modelo vista controlador, se debe entender la división a través 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 ratón), enviado el mensaje de acción al modelo y a la vista para que se proceda con los cambios que se consideren adecuados.
  • 7. 7 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 (manipulación de la representación gráfica).  Adaptar, si fuera necesario, los distintos componentes del controlador cuando se produce alguna actualización 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 interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace) 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. 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 (si se utiliza la variante 2 descrita anteriormente, de lo contrario lo obtiene a 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 comunicació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)
  • 8. 8 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. VARIANTES DE MVC Se han desarrollado a lo largo de los años, desde la presentación de este patrón a la comunidad científica 3 variantes fundamentales, que se presentan brevemente a continuación. Variante I: (Figura 1) 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. Figura 1: Variante inicial del Patrón MVC. Variante II: (Figura 2) Variante en la cual se desarrolla una comunicación entre el Modelo y la Vista, donde esta última al mostrar los datos, la busca directamente en el Modelo, dada una indicación del Controlador, disminuyendo el conjunto de responsabilidades de este último.
  • 9. 9 Figura 2: Variante Intermedia del Patrón MVC. Variante III: (Figura 3) Variante en la cual se diversifica las funcionalidades del Modelo teniendo en cuanta las características 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])
  • 10. 10 CONCLUSIÓN Modelo vista controlador (MVC) es un patrón de diseño que separa los datos, la lógica 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 información y también 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 código que nos permitirá presentar los datos que el modelo nos proporciona. Este separa por capas la aplicación en modelos, vistas y controladores hace que su aplicación sea además muy ligera de entender. Es importante saber que MVC es un patrón enfocado en separar las responsabilidades dentro de una aplicación 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.
  • 11. 11 REFERENCIAS BIBLIOGRÁFICAS Debrauwer, L. (2013). Patrones de diseño en Java [Libro en línea]. 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 [Página Web en línea] Disponible: (http://michelletorres.mx/mvc-y-su-importancia-en-la-web/) [Consulta: 2016, junio 5] Patrón de arquitectura Modelo Vista Controlador (MVC) [Página Web en línea] Disponible: (http://www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html) [Consulta: 2016, junio 5]