SlideShare ist ein Scribd-Unternehmen logo
1 von 27
MVC
Modelo - Vista - Controlador
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
Patrones
 Un patrón es una solución probada que se puede aplicar con
éxito a un determinado tipo de problemas que aparece con
frecuencia.
 Esqueleto de aplicación básica que el diseñador ha de adaptar
a sus necesidades.
 Un patrón de diseño en software es una colección de objetos
que incluye:
 Relaciones entre estos objetos
 Desarrollados para resolver un problema concreto
 Se ha comprobado que funcionan bien (han sido testados).
Modelo-Vista-Controlador
 MVC es un patrón de diseño orientado a objetos.
 Fue desarrollado en el Centro de Investigaciones
Xerox Palo Alto a finales de los años setenta.
 Define una buena arquitectura para un sitio web
 Especifica el uso de clases para dividir nuestra
aplicación:
 Lógica del negocio -> datos persistentes
 Lógica de presentación -> como visualizamos los
datos
 Flujo de la aplicación -> a través del controlador
MVC: Modelo
 Conjunto de Clases y Objetos correspondientes al Modelo
del Negocio para nuestra aplicación (estados y
funcionalidad)
 Es deseable un bajo acoplamiento con Vistas y
Controladores
 Se definen métodos para realizar consultas (informar el
estado), comandos (modificar el estado) y mecanismos de
notificación (para informar a los observadores / vistas)
Modelo
Controlador
Vista
MVC: Vista
 Administra la visualización y presentación de la
información
 Observa al Modelo para actualizar los cambios
 Al definirse en el modelo una interfaz clara y estable, es
fácil implementar múltiples Vistas para un mismo modelo
 Altamente dependiente del dispositivo y tecnología de
visualización
 Muy dependiente del Modelo (debe conocerlo)
Modelo
Controlador
Vista
MVC: Controlador
 Responsable de definir el comportamiento de la aplicación
 Recibe los eventos del usuario y decide qué es lo que se debe
hacer, mapeándolos en comandos (mensajes) hacia el
Modelo
 Altamente dependiente de los dispositivos y mecanismos de
interacción del usuario
 Muy dependiente del Modelo (debe conocerlo)
Modelo
Controlador
Vista
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
 Ejemplos
 ¿ Preguntas y Respuestas ?
MVC
MVC
MVC
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
 Ejemplos
 ¿ Preguntas y Respuestas ?
Funcionamiento
Flujo de ver información:
Funcionamiento
Flujo de actualizar información:
Modelo
Controlador
Vista
cObjeto
cNave
cNaveE cNavePcNaveK
cEspacio
cCamara
Funcionamiento
Controlador Frontal
Model
Controller
input
update
View
register
View
update
View
Funcionamiento
Model
(JavaBean)
Controller
(Servlet)request
update
View
(JSP)
get
information
forward
response
Funcionamiento en J2EE
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
MVC 1
MVC 2
Agenda
 Conceptos Generales
 Esquemas
 Aplicación del Patrón
 Versiones del Patrón
 Mecanismos de Notificación
MVC (Notificación)
Eventos
 Totalmente desacoplado
 Vistas escuchan y responden a los eventos de
notificación de sus respectivos modelos (si les
interesa)
 Modelo desconoce qué pasa, sólo responde a los
mensajes recibidos (comandos y consultas)
Modelo Vista
update
MVC (Notificación)
Observadores / Vistas Asociadas
Modelo conoce la existencia de
“observadores” o vistas asociadas
Les envía activamente un mensaje de
notificación (sin información)
Fácil de implementar, pero limitado en
flexibilidad
El controlador también puede observar al
modelo
Modelo Vista
update
Modelo Observador
Vista 4
Vista 3
Vista 2
Vista 1
update Elementos
Dependientes
MVC (Notificación)
¿ Preguntas?

Weitere ähnliche Inhalte

Was ist angesagt?

Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Diagrama de secuencia
Diagrama de secuenciaDiagrama de secuencia
Diagrama de secuenciaKelly Cuervo
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesCarlos Macallums
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorEmilio Sarabia
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)programadorjavablog
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
Curso Laravel basico.pptx
Curso Laravel basico.pptxCurso Laravel basico.pptx
Curso Laravel basico.pptxGabrielGabo21
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) Germán Sánchez
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamientozeta2015
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaJosé Antonio Sandoval Acosta
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 

Was ist angesagt? (20)

Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Diagrama de secuencia
Diagrama de secuenciaDiagrama de secuencia
Diagrama de secuencia
 
Rational rose
Rational roseRational rose
Rational rose
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)Patrones de diseño(presentación 7)
Patrones de diseño(presentación 7)
 
Modelo 4+1
Modelo 4+1Modelo 4+1
Modelo 4+1
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
Curso Laravel basico.pptx
Curso Laravel basico.pptxCurso Laravel basico.pptx
Curso Laravel basico.pptx
 
Diagrama de Colaboración
Diagrama de ColaboraciónDiagrama de Colaboración
Diagrama de Colaboración
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING) METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Programacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herenciaProgramacion orientada a objetos - unidad 3 herencia
Programacion orientada a objetos - unidad 3 herencia
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 

Andere mochten auch (20)

Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
Servicios web
Servicios webServicios web
Servicios web
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVC
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Mvc
MvcMvc
Mvc
 
Modelo negocio
Modelo negocioModelo negocio
Modelo negocio
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Scrum
ScrumScrum
Scrum
 
Uml
UmlUml
Uml
 
Elevator pitch
Elevator pitchElevator pitch
Elevator pitch
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Ceremonias scrum
Ceremonias scrumCeremonias scrum
Ceremonias scrum
 
MODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHPMODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHP
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 
Historias de usuario
Historias de usuarioHistorias de usuario
Historias de usuario
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 

Ähnlich wie MVC (20)

Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
MVC
MVCMVC
MVC
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Asp
AspAsp
Asp
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
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
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_point
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Health WorldBank 2012
Health WorldBank 2012Health WorldBank 2012
Health WorldBank 2012
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Mapa mental (artemio y brenda) (2)
Mapa mental (artemio y brenda) (2)Mapa mental (artemio y brenda) (2)
Mapa mental (artemio y brenda) (2)
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)
 
PPT-S08-MMIRANDA-2022-01.pptx
PPT-S08-MMIRANDA-2022-01.pptxPPT-S08-MMIRANDA-2022-01.pptx
PPT-S08-MMIRANDA-2022-01.pptx
 
Mvc
MvcMvc
Mvc
 

Mehr von Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Bddtddatdd
BddtddatddBddtddatdd
Bddtddatdd
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Orm
OrmOrm
Orm
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Lean canvas
Lean canvasLean canvas
Lean canvas
 

MVC