SlideShare una empresa de Scribd logo
1 de 15
Modelo-Vista-
Controlador (MVC)
Modelo-Vista-Controlador
 Este patrón fue descrito por primera vez por Trygve
Reenskaug en 1979, y la implementación original fue
realizada en Smalltalk en los laboratorios Xerox.
 MVC se basa en la separación de la aplicación en tres capas
principales: Modelo, Vista y Controlador.
 Se usa (él o alguna de sus variantes) en la gran mayoría
de las interfaces de usuario.
Modelo-Vista-Controlador
Modelo: es la representación específica del dominio
de la información sobre la cual funciona la aplicación.
El modelo es otra forma de llamar a la capa de
dominio.
La lógica de dominio añade significado a los datos;
por ejemplo, calculando si hoy es el cumpleaños del
usuario o los totales, impuestos o portes en un carrito
de la compra.
Modelo-Vista-Controlador
Vista: Se presenta el modelo en un formato
adecuado para interactuar, usualmente un elemento
de interfaz de usuario.
Controlador: Este responde a eventos, usualmente
acciones del usuario e invoca cambios en el modelo y
probablemente en la vista.
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
 Muchas aplicaciones utilizan un mecanismo de
almacenamiento persistente (como puede ser una
base de datos) para almacenar los datos. MVC no
menciona específicamente esta capa de acceso a
datos porque supone que está encapsulada por el
modelo.
 El objetivo primordial del MVC es la reutilización del
código ya implementado.
 Esta tarea se facilita mucho si a la hora de programar
tenemos la precaución de separar el código en varias
partes que sean susceptibles de ser reutilizadas sin
modificaciones.
Modelo-Vista-Controlador
Ejemplos
 Los datos de una hoja de cálculo pueden mostrarse
de en formato tabular, con un gráfico de barras, con
uno de sectores.
 Los datos son el modelo.
 Si cambia el modelo, las vistas deberían actualizarse
en consonancia.
 El usuario manipula el modelo a través de las vistas.
(en realidad, a través de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo
de Datos
Modelo-Vista-Controlador
 MVC es utilizado con mayor frecuencia en las
aplicaciones web, donde la Vista es la página
HTML, y el Controlador es el código que reúne
la data dinámica y genera el contenido de la
página.
 El Modelo es representado por el contenido
actual, que usualmente se encuentra
almacenado en una base de datos o en
archivos XML.
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas
 Se presenta la misma información de distintas formas.
 Las vistas y comportamiento de una aplicación deben
reflejar las manipulaciones de los datos de forma
inmediata.
 Debería ser fácil cambiar la interfaz de usuario (incluso en
tiempo de ejecución).
 Permitir diferentes estándares de interfaz de usuario o
portarla a otros entornos no debería afectar al código de la
aplicación.
Modelo-Vista-Controlador
 En UML
Se propone para el desarrollo
del Modelo de Análisis de
las aplicaciones, tres tipos
de clases
fundamentales, con las
cuales podemos expresar
todas las funciones de
cualquier software, con sus
respectivas
responsabilidades
Clase Interfaz <<Interface>>:
Recepcionar peticiones al
sistema.
Mostrar respuestas del
sistema.
Clase Entidad <<Entity>>:
Gestionar datos (información)
necesaria para el sistema.
Almacenar datos (información)
persistentes del sistema.
Provee la funcionalidad principal de
la aplicación
Clase Controlador
<<Controller>>:
Procesar Información del
sistema.
Gestionar visualización de
respuesta del sistema.
Obtiene los datos del modelo.
Modelo-Vista-Controlador
 Variante inicial del Patrón MVC.
Variantes del Modelo.
- 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.
Modelo-Vista-Controlador
 Variante en la cual se
desarrolla una
comunicación entre el
Modelo y la Vista,
donde esta última al
mostrar los datos los
busca directamente en
el Modelo, dada una
indicación del
Controlador,
disminuyendo el
conjunto de
responsabilidades de
este último.
Variante Intermedia del Patrón MVC.
Modelo-Vista-Controlador
Muchas interfaces gráficas de usuario, como Swing o
MFC, hacen innecesario el uso de un controlador.
 Definen su propio flujo de control y manejan los
eventos internamente.
 Integran, así, la vista y el controlador.
 A esta variante se la suele denominar Document-
View

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

MODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHPMODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHP
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
MVC
MVCMVC
MVC
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
El patrón MVC
El patrón MVCEl patrón MVC
El patrón MVC
 
MVC - (Spanish)
MVC - (Spanish)MVC - (Spanish)
MVC - (Spanish)
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Servicios web
Servicios webServicios web
Servicios web
 
Analisis del patron mvc
Analisis del patron mvcAnalisis del patron mvc
Analisis del patron 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
 
patron-mvc
 patron-mvc patron-mvc
patron-mvc
 
Ingenieria del software
Ingenieria del softwareIngenieria del software
Ingenieria del software
 
Arquitectura de 3 capas
Arquitectura de 3 capasArquitectura de 3 capas
Arquitectura de 3 capas
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
Patron Mvc Struts 1 y 2
Patron Mvc Struts 1 y 2Patron Mvc Struts 1 y 2
Patron Mvc Struts 1 y 2
 
Presentación1
Presentación1Presentación1
Presentación1
 
Arquitectura en capas
Arquitectura en capasArquitectura en capas
Arquitectura en capas
 

Destacado (7)

Foros de voz
Foros de vozForos de voz
Foros de voz
 
Kwiksurvey
KwiksurveyKwiksurvey
Kwiksurvey
 
Aula virtualbd
Aula virtualbdAula virtualbd
Aula virtualbd
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)DISEÑO DE APLICACIONES WEB (INTRODUCCION)
DISEÑO DE APLICACIONES WEB (INTRODUCCION)
 
Bd i
Bd iBd i
Bd i
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 

Similar a MVC patrón diseño

Similar a MVC patrón diseño (20)

Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
Asp
AspAsp
Asp
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Modelo Vista Controlador.pdf
Modelo Vista Controlador.pdfModelo Vista Controlador.pdf
Modelo Vista Controlador.pdf
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
Unidad 1 MOOC MVC
Unidad 1 MOOC MVCUnidad 1 MOOC MVC
Unidad 1 MOOC MVC
 
Web 2
Web 2Web 2
Web 2
 
MVC
MVCMVC
MVC
 
U2-tema1.pdf
U2-tema1.pdfU2-tema1.pdf
U2-tema1.pdf
 
Arquitectura Cliente-Servidor
Arquitectura Cliente-ServidorArquitectura Cliente-Servidor
Arquitectura Cliente-Servidor
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Programacion 3 mvc
Programacion 3 mvcProgramacion 3 mvc
Programacion 3 mvc
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista Controlador
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 
Sistema de ventas, compras y almacén
Sistema de ventas, compras y almacénSistema de ventas, compras y almacén
Sistema de ventas, compras y almacén
 

MVC patrón diseño

  • 2. Modelo-Vista-Controlador  Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk en los laboratorios Xerox.  MVC se basa en la separación de la aplicación en tres capas principales: Modelo, Vista y Controlador.  Se usa (él o alguna de sus variantes) en la gran mayoría de las interfaces de usuario.
  • 3. Modelo-Vista-Controlador Modelo: es la representación específica del dominio de la información sobre la cual funciona la aplicación. El modelo es otra forma de llamar a la capa de dominio. La lógica de dominio añade significado a los datos; por ejemplo, calculando si hoy es el cumpleaños del usuario o los totales, impuestos o portes en un carrito de la compra.
  • 4. Modelo-Vista-Controlador Vista: Se presenta el modelo en un formato adecuado para interactuar, usualmente un elemento de interfaz de usuario. Controlador: Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.
  • 6. Modelo-Vista-Controlador  Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos. MVC no menciona específicamente esta capa de acceso a datos porque supone que está encapsulada por el modelo.  El objetivo primordial del MVC es la reutilización del código ya implementado.  Esta tarea se facilita mucho si a la hora de programar tenemos la precaución de separar el código en varias partes que sean susceptibles de ser reutilizadas sin modificaciones.
  • 7. Modelo-Vista-Controlador Ejemplos  Los datos de una hoja de cálculo pueden mostrarse de en formato tabular, con un gráfico de barras, con uno de sectores.  Los datos son el modelo.  Si cambia el modelo, las vistas deberían actualizarse en consonancia.  El usuario manipula el modelo a través de las vistas. (en realidad, a través de los controladores)
  • 8. Modelo-Vista-Controlador Mas de una Vista de un Modelo de Datos
  • 9. Modelo-Vista-Controlador  MVC es utilizado con mayor frecuencia en las aplicaciones web, donde la Vista es la página HTML, y el Controlador es el código que reúne la data dinámica y genera el contenido de la página.  El Modelo es representado por el contenido actual, que usualmente se encuentra almacenado en una base de datos o en archivos XML.
  • 11. Modelo-Vista-Controlador Fortalezas  Se presenta la misma información de distintas formas.  Las vistas y comportamiento de una aplicación deben reflejar las manipulaciones de los datos de forma inmediata.  Debería ser fácil cambiar la interfaz de usuario (incluso en tiempo de ejecución).  Permitir diferentes estándares de interfaz de usuario o portarla a otros entornos no debería afectar al código de la aplicación.
  • 12. Modelo-Vista-Controlador  En UML Se propone para el desarrollo del Modelo de Análisis de las aplicaciones, tres tipos de clases fundamentales, con las cuales podemos expresar todas las funciones de cualquier software, con sus respectivas responsabilidades Clase Interfaz <<Interface>>: Recepcionar peticiones al sistema. Mostrar respuestas del sistema. Clase Entidad <<Entity>>: Gestionar datos (información) necesaria para el sistema. Almacenar datos (información) persistentes del sistema. Provee la funcionalidad principal de la aplicación Clase Controlador <<Controller>>: Procesar Información del sistema. Gestionar visualización de respuesta del sistema. Obtiene los datos del modelo.
  • 13. Modelo-Vista-Controlador  Variante inicial del Patrón MVC. Variantes del Modelo. - 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.
  • 14. Modelo-Vista-Controlador  Variante en la cual se desarrolla una comunicación entre el Modelo y la Vista, donde esta última al mostrar los datos los busca directamente en el Modelo, dada una indicación del Controlador, disminuyendo el conjunto de responsabilidades de este último. Variante Intermedia del Patrón MVC.
  • 15. Modelo-Vista-Controlador Muchas interfaces gráficas de usuario, como Swing o MFC, hacen innecesario el uso de un controlador.  Definen su propio flujo de control y manejan los eventos internamente.  Integran, así, la vista y el controlador.  A esta variante se la suele denominar Document- View