Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelo Vista-Controlador (MVC)
Modelo Vista-Controlador (MVC)
Integrantes:
Nilsen Espitia V-20132008
Oscar Armao V-23613305
Jhonnathan Carbajo V-19199447
1
Índice
Introducción .................................................................................................................. 3
Definición ...................................................................................................................... 4
Historia .......................................................................................................................... 4
Componentes ................................................................................................................. 6
Interacción de los componentes................................................................................. 7
Tipos de Patrones MVC ................................................................................................ 8
MVC y bases de datos ................................................................................................... 9
Uso en aplicaciones Web .............................................................................................. 9
Frameworks ................................................................................................................. 10
Conclusión .................................................................................................................. 11
Referencias .................................................................................................................. 12
Electrónicas ............................................................................................................. 12
2
Introducción
3
Definición
Controlador
Vista Modelo
Diagrama sencillo que muestra la relación entre el modelo, la vista y el controlador. Nota: las líneas
sólidas indican una asociación directa, y las punteadas una indirecta.
Historia
El patrón MVC fue una de las primeras ideas en el campo de las interfaces gráficas
de usuario y uno de los primeros trabajos en describir e implementar aplicaciones
software en términos de sus diferentes funciones.
4
Fue descrito por primera vez en 1979 por Trygve Reenskaug, entonces trabajando en
Smalltalk en laboratorios de investigación de Xerox. Para los años 70 seguidamente en
los años 80 Jim Althoff y otros implementaron una versión de MVC para la biblioteca
de clases de Smalltalk-80. Solo más tarde, en 1988, MVC se expresó como un concepto
general en un artículo sobre Smalltalk-80.
En esta primera definición de MVC el controlador se definía como "el módulo que
se ocupa de la entrada" (de forma similar a como la vista "se ocupa de la salida"). Esta
definición no tiene cabida en las aplicaciones modernas en las que esta funcionalidad
es asumida por una combinación de la 'vista' y algún framework moderno para
desarrollo. El 'controlador', en las aplicaciones modernas de la década de 2000, es un
módulo o una sección intermedia de código, que hace de intermediario de la
comunicación entre el 'modelo' y la 'vista', y unifica la validación (utilizando llamadas
directas o el "observer" para desacoplar el 'modelo' de la 'vista' en el 'modelo' activo).
5
Componentes
Modelo: Representa los datos que el usuario está esperando ver, en algunos
casos el Modelo consiste de Java Beans.
Vista: Se encarga de transformar el modelo para que sea visualizada por el
usuario, ya sea un archivo de texto normal o en una página Web (HTML o JSP)
que el navegador pueda desplegar. El propósito de la Vista es convertir los datos
para que el usuario le sean significativos y los pueda interpretar fácilmente; la
Vista no debe trabajar directamente con los parámetros de request, debe delegar
esta responsabilidad al controlador.
Controlador: Es la parte lógica que es responsable de procesamiento y
comportamiento de acuerdo a las peticiones (request) del usuario, construyendo
un modelo apropiado, y pasándolo a la vista para su correcta visualización. En
el caso de una aplicación Web Java en la mayoría de los casos el Controlador
es implementado por un servlet.
Modelo
Updates Manipulates
Vista Controlador
Sees Uses
Usuarios
6
Interacción de los componentes
Se pueden encontrar muchas implementaciones de MVC, pero generalmente el flujo
de datos se describe así:
7
Tipos de Patrones MVC
Actualmente existen dos tipos de patrón MVC:
MVC tipo 1: Las paginas JSP están en el centro de aplicación y contiene tanto
la lógica de control como la de presentación. Este tipo de arquitectura funciona
de la siguiente manera: el cliente hace una petición o una página JSP, se
construye la lógica de la página, generalmente en objetos java y se transforma
el modelo para ser desplegado una vez más.
Servidor Web/Aplicación
1. Request Capa de
JSP Servicios
Navegador
4. Responde 2
3
Java Beans
Datos
MCV tipo 2: Aquí ya existe una clara separación entre el Controlador y el Vista,
ya que ahora es directamente el Controlador quien recibe la petición, prepara el
modelo y lo transforma para que sea desplegado en la vista. Esta arquitectura
se utiliza para aplicaciones complejas.
Servidor Web/Aplicación
Vista
4/5 Responde Datos
4. Usa
8
MVC y bases de datos
Muchos sistemas informáticos utilizan un Sistema de Gestión de Base de Datos para
gestionar los datos que debe utilizar la aplicación; en líneas generales del MVC dicha
gestión corresponde al modelo. La unión entre capa de presentación y capa de negocio
conocido en el paradigma de la Programación por capas representaría la integración
entre la Vista y su correspondiente Controlador de eventos y acceso a datos, MVC no
pretende discriminar entre capa de negocio y capa de presentación pero si pretende
separar la capa visual gráfica de su correspondiente programación y acceso a datos,
algo que mejora el desarrollo y mantenimiento de la Vista y el Controlador en paralelo,
ya que ambos cumplen ciclos de vida muy distintos entre sí.
9
Frameworks
Es un término utilizado en la computación en general, para referirse a un conjunto de
bibliotecas utilizadas para implementar la estructura estándar de una aplicación. Todo
esto es realizado con el propósito de promover la reutilización de código, con el fin de
ahorrarse trabajo al desarrollador al no tener que rescribir ese código para cada nueva
aplicación que se desea crear. Existen varios FrameWorks para diferentes fines,
algunos son orientados para aplicaciones web, otros para aplicaciones multiplataforma,
sistemas operativos, etc.
Los Frameworks utilizan un variado número de patrones de diseño, ya que así logran
soportar aplicaciones de más alto nivel y que reutilizan una mayor cantidad de código,
que uno que no utiliza dichos patrones. "Los patrones ayudan hacer la arquitectura de
los FrameWorks más adecuada para muchas y diferentes aplicaciones sin necesidad de
rediseño". Por esta razón es importante que se documenten que patrones utiliza el
FrameWorks para que los que se encuentren familiarizados con dichos patrones puedan
tener una mejor visión y poder adentrarse en el FrameWorks mas fácilmente.
10
Conclusión
Este patrón para el diseño y desarrollo permite producir software de alta calidad,
convirtiendo una aplicación en un módulo fácil de mantener y mejora la rapidez de su
desarrollo. La separación de capas en modelos, vistas y controladores hace que las
aplicaciones sean fáciles de entender.
11
Referencias
- Pavón, Juan. (2009) Estructura de las Aplicaciones Orientadas a Objetos. El
Patrón Modelo-Vista-Controlador (MVC). Universidad Complutense Madrid.
- Sommerville, Ian (2005). Ingeniera del Software. Pearson Educación.
Electrónicas
- http://book.cakephp.org/2.0/es/cakephp-overview/understanding-model-view-
controller.html
- http://www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html
- http://si.ua.es/es/documentacion/asp-net-mvc-3/1-dia/modelo-vista-
controlador-mvc.html
12