SlideShare una empresa de Scribd logo
1 de 14
MODELO VISTA CONTROLADOR
DESARROLLO WEB EN ENTORNO SERVIDOR
INTRODUCCION
 El patrón Modelo – Vista – Controlador fue inventado en el contexto del lenguaje de
programación SmallTalk para realizar una separación entre la interfaz gráfica y el código del
funcionamiento de una aplicación. Esta idea teórica afectó, de forma importante, a gran parte
del código de SmallTalk y fue posteriormente aplicada a los lenguajes que están basados en
objetos.
 En el paradigma MVC, las entradas del usuario, los modelos del mundo exterior y la
retroalimentación visual son explícitamente separados y manejados por tres tipos de objetos,
cada uno especializado para un conjunto de tareas específicas.
 El modelo–vista–controlador (MVC) es un patrón de arquitectura de software, que separa
los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo
encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la
construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir,
por un lado define componentes para la representación de la información, y por otro lado para
la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas
de reutilización de código y la separación de conceptos, características que buscan facilitar la
tarea de desarrollo de aplicaciones y su posterior mantenimiento.
ESQUEMA DEL PATRON MVC
LOGICA DE
NEGOCIO
ACCESO A BBDD
INTERFAZ DE
USUARIO
ELEMENTOS DEL PATRON MVC
 El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto
gestiona todos los accesos a dicha información, tanto consultas como actualizaciones,
implementando también los privilegios de acceso que se hayan descrito en las especificaciones de
la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada
momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso
o manipulación de información llegan al 'modelo' a través del 'controlador'.
 El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al
'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento
o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se
solicita un cambio en la forma en que se presenta el 'modelo' (por ejemplo, desplazamiento o scroll
por un documento o por los diferentes registros de una base de datos), por tanto se podría decir
que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo'.
 La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para
interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información
que debe representar como salida.
VENTAJAS
 La implementación se realiza de forma modular.
 Sus vistas muestran información actualizada siempre. El programador no debe
preocuparse de solicitar que las vistas se actualicen, ya que este proceso es realizado
automáticamente por el modelo de la aplicación.
 Cualquier modificación que afecte al dominio, como aumentar métodos o datos
contenidos, implica una modificación sólo en el modelo y las interfaces del mismo
con las vistas, no todo el mecanismo de comunicación y de actualización entre
modelos.
 Las modificaciones a las vistas no afectan al modelo de dominio, simplemente se
modifica la representación de la información, no su tratamiento.
 MVC esta demostrando ser un patrón de diseño bien elaborado pues las aplicaciones
que lo implementan presentan una extensibilidad y una mantenibilidad únicas
comparadas con otras aplicaciones basadas en otros patrones.
PATRON CON VARIOS CONTROLADORES
CLIENTE
INTERNET
CONTROLADOR PRINCIPAL
CONTROLADOR 1
MODELO 1
VISTA 1
CONTROLADOR N
MODELO N
VISTA N
CONTROLADOR PRINCIPAL
CLIENTE
CONTROLADOR
PRINCIPAL
CONTROLADOR
MODELO
VISTA
CONTROLADOR PRINCIPAL
CLIENTE
CONTROLADOR
PRINCIPAL
CONTROLADOR
MODELO
VISTA
CONTROLADOR
CLIENTE
CONTROLADOR
PRINCIPAL
CONTROLADOR
MODELO
VISTA
MODELO
CLIENTE
CONTROLADOR
PRINCIPAL
CONTROLADOR
MODELO
VISTA
VISTA
CLIENTE
CONTROLADOR
PRINCIPAL
CONTROLADOR
MODELO
VISTA
EJERCICIO
 Descargar los ficheros del ejemplo de la Junta de Andalucía a la máquina virtual
Windows con XAMPP
http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/257
 Ejecutar los comandos SQL utilizando PhpMyAdmin para crear la base de datos “cdcol”,
la tabla “cdcol” e introducir los datos en dicha tabla
 Cargar los ficheros del ejemplo de la Junta de Andalucía a la carpeta donde están las
páginas web de Apache
 Comprobar el funcionamiento.
 Comprobar el funcionamiento indicando en la url el controlador seleccionado y la
acción:
http:// localhost?controlador=CdController&acción=listar
 Probar el comportamiento con nombres de controlador no existentes
 Probar las acciones “agregar” y “modificar”
 Crear un código en la acción “modificar” para que indique una respuesta similar a la
acción “agregar”
EJERCICIO
 Formar grupos de tres alumnos mínimo
 Asignación de roles: TeamLeader, Experto en Vistas y Experto en Base de Datos
 El objetivo del proyecto es incorporar un controlador que realice el listado de los
empleados de la tabla Scott con un patrón modelo vista controlador.
 Kick-off meeting: Asignación de tareas
 Trabajo individual separados:15 minutos
 Reunión de seguimiento
 Trabajo individual separados:15 minutos
 Consolidación del trabajo y pruebas
GRACIAS

Más contenido relacionado

La actualidad más candente

Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creaciónAutentia
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOSergio Sanchez
 
Poo programacion orientada a objetos - renee morales
Poo programacion orientada a objetos - renee moralesPoo programacion orientada a objetos - renee morales
Poo programacion orientada a objetos - renee moralesRenee Morales Calhua
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basicRosa Marina Mosquera
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bdJosé Mendoza
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesAndresRealp1
 

La actualidad más candente (20)

Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Sequence diagrams in UML
Sequence diagrams in UMLSequence diagrams in UML
Sequence diagrams in UML
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Patrones de creación
Patrones de creaciónPatrones de creación
Patrones de creación
 
Composite Design Pattern
Composite Design PatternComposite Design Pattern
Composite Design Pattern
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Java OCA teoria 1
Java OCA teoria 1Java OCA teoria 1
Java OCA teoria 1
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Poo programacion orientada a objetos - renee morales
Poo programacion orientada a objetos - renee moralesPoo programacion orientada a objetos - renee morales
Poo programacion orientada a objetos - renee morales
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Lenguaje de programacion de visual basic
Lenguaje de programacion de visual basicLenguaje de programacion de visual basic
Lenguaje de programacion de visual basic
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bd
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Java OCA teoria 5
Java OCA teoria 5Java OCA teoria 5
Java OCA teoria 5
 
Diseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentesDiseño en-el-nivel-de-componentes
Diseño en-el-nivel-de-componentes
 

Similar a Modelo vista controlador

Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebPierina G. Abad
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)Senior Dev
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontroladorRené Pilataxi
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontroladorRené Pilataxi
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_pointArely_Medina
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista ControladorAngelDX
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidorvinceq
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controladorVince Qu
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1mariana
 
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 capasAlex Uhu Colli
 

Similar a Modelo vista controlador (20)

MVC
MVCMVC
MVC
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
Asp
AspAsp
Asp
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_point
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista Controlador
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Arquitectura Mvc
Arquitectura MvcArquitectura Mvc
Arquitectura Mvc
 
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
 

Último

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfBrandonsanchezdoming
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 

Último (20)

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Cuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdfCuadernillo de las sílabas trabadas.pdf
Cuadernillo de las sílabas trabadas.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 

Modelo vista controlador

  • 1. MODELO VISTA CONTROLADOR DESARROLLO WEB EN ENTORNO SERVIDOR
  • 2. INTRODUCCION  El patrón Modelo – Vista – Controlador fue inventado en el contexto del lenguaje de programación SmallTalk para realizar una separación entre la interfaz gráfica y el código del funcionamiento de una aplicación. Esta idea teórica afectó, de forma importante, a gran parte del código de SmallTalk y fue posteriormente aplicada a los lenguajes que están basados en objetos.  En el paradigma MVC, las entradas del usuario, los modelos del mundo exterior y la retroalimentación visual son explícitamente separados y manejados por tres tipos de objetos, cada uno especializado para un conjunto de tareas específicas.  El modelo–vista–controlador (MVC) es un patrón de arquitectura de software, que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que son el modelo, la vista y el controlador, es decir, por un lado define componentes para la representación de la información, y por otro lado para la interacción del usuario. Este patrón de arquitectura de software se basa en las ideas de reutilización de código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.
  • 3. ESQUEMA DEL PATRON MVC LOGICA DE NEGOCIO ACCESO A BBDD INTERFAZ DE USUARIO
  • 4. ELEMENTOS DEL PATRON MVC  El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'.  El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se presenta el 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo'.  La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe representar como salida.
  • 5. VENTAJAS  La implementación se realiza de forma modular.  Sus vistas muestran información actualizada siempre. El programador no debe preocuparse de solicitar que las vistas se actualicen, ya que este proceso es realizado automáticamente por el modelo de la aplicación.  Cualquier modificación que afecte al dominio, como aumentar métodos o datos contenidos, implica una modificación sólo en el modelo y las interfaces del mismo con las vistas, no todo el mecanismo de comunicación y de actualización entre modelos.  Las modificaciones a las vistas no afectan al modelo de dominio, simplemente se modifica la representación de la información, no su tratamiento.  MVC esta demostrando ser un patrón de diseño bien elaborado pues las aplicaciones que lo implementan presentan una extensibilidad y una mantenibilidad únicas comparadas con otras aplicaciones basadas en otros patrones.
  • 6. PATRON CON VARIOS CONTROLADORES CLIENTE INTERNET CONTROLADOR PRINCIPAL CONTROLADOR 1 MODELO 1 VISTA 1 CONTROLADOR N MODELO N VISTA N
  • 12. EJERCICIO  Descargar los ficheros del ejemplo de la Junta de Andalucía a la máquina virtual Windows con XAMPP http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/257  Ejecutar los comandos SQL utilizando PhpMyAdmin para crear la base de datos “cdcol”, la tabla “cdcol” e introducir los datos en dicha tabla  Cargar los ficheros del ejemplo de la Junta de Andalucía a la carpeta donde están las páginas web de Apache  Comprobar el funcionamiento.  Comprobar el funcionamiento indicando en la url el controlador seleccionado y la acción: http:// localhost?controlador=CdController&acción=listar  Probar el comportamiento con nombres de controlador no existentes  Probar las acciones “agregar” y “modificar”  Crear un código en la acción “modificar” para que indique una respuesta similar a la acción “agregar”
  • 13. EJERCICIO  Formar grupos de tres alumnos mínimo  Asignación de roles: TeamLeader, Experto en Vistas y Experto en Base de Datos  El objetivo del proyecto es incorporar un controlador que realice el listado de los empleados de la tabla Scott con un patrón modelo vista controlador.  Kick-off meeting: Asignación de tareas  Trabajo individual separados:15 minutos  Reunión de seguimiento  Trabajo individual separados:15 minutos  Consolidación del trabajo y pruebas