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
Introduccin...................................................................................................................3
Definicin......................................................................................................................4
Historia..........................................................................................................................4
Componentes.................................................................................................................6
Interaccin de los componentes.................................................................................7
Tipos de Patrones MVC.................................................................................................8
MVC y bases de datos...................................................................................................9
Uso en aplicaciones Web...............................................................................................9
Frameworks.................................................................................................................10
Conclusin...................................................................................................................11
Referencias..................................................................................................................12
Electrnicas..............................................................................................................12
2
Introduccin
3
Definicin
Controlador
Vista
Modelo
Diagrama sencillo que muestra la relacin entre el modelo, la vista y el controlador. Nota: las lneas
slidas indican una asociacin directa, y las punteadas una indirecta.
Historia
4
El patrn MVC fue una de las primeras ideas en el campo de las interfaces grficas
de usuario y uno de los primeros trabajos en describir e implementar aplicaciones
software en trminos de sus diferentes funciones.
Fue descrito por primera vez en 1979 por Trygve Reenskaug, entonces trabajando en
Smalltalk en laboratorios de investigacin de Xerox. Para los aos 70 seguidamente
en los aos 80 Jim Althoff y otros implementaron una versin de MVC para la
biblioteca de clases de Smalltalk-80. Solo ms tarde, en 1988, MVC se expres como
un concepto general en un artculo sobre Smalltalk-80.
En esta primera definicin de MVC el controlador se defina como "el mdulo que
se ocupa de la entrada" (de forma similar a como la vista "se ocupa de la salida").
Esta definicin no tiene cabida en las aplicaciones modernas en las que esta
funcionalidad es asumida por una combinacin de la 'vista' y algn framework
moderno para desarrollo. El 'controlador', en las aplicaciones modernas de la dcada
de 2000, es un mdulo o una seccin intermedia de cdigo, que hace de intermediario
de la comunicacin entre el 'modelo' y la 'vista', y unifica la validacin (utilizando
llamadas directas o el "observer" para desacoplar el 'modelo' de la 'vista' en el
'modelo' activo).
MVA (Modelo-Vista-Adaptador)
MVP (Modelo-Vista-Presentador)
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 pgina Web (HTML o
JSP) que el navegador pueda desplegar. El propsito de la Vista es convertir
los datos para que el usuario le sean significativos y los pueda interpretar
fcilmente; la Vista no debe trabajar directamente con los parmetros de
request, debe delegar esta responsabilidad al controlador.
Controlador: Es la parte lgica que es responsable de procesamiento y
comportamiento de acuerdo a las peticiones (request) del usuario,
construyendo un modelo apropiado, y pasndolo a la vista para su correcta
Manipulates
Updates
visualizacin. En el caso de una aplicacin Web Java en la mayora de los
casos el Controlador es implementado por un servlet.
Sees
Uses
6
Una tpica colaboracin entre los componentes de un MVC
7
3. Accesa
2. Crea
4/5 Responde
4. Usa
MVC tipo 1: Las paginas JSP estn en el centro de aplicacin y contiene tanto
la lgica de control como la de presentacin. Este tipo de arquitectura
funciona de la siguiente manera: el cliente hace una peticin o una pgina JSP,
se construye la lgica de la pgina, generalmente en objetos java y se
transforma el modelo para ser desplegado una vez ms.
Servidor Web/Aplicacin
1. Request
Capa de Servicios
JSP
Navegador
4. Responde
2
3
Java Beans
Datos
Servidor Web/Aplicacin
8
MVC y bases de datos
Muchos sistemas informticos utilizan un Sistema de Gestin de Base de Datos
para gestionar los datos que debe utilizar la aplicacin; en lneas generales del MVC
dicha gestin corresponde al modelo. La unin entre capa de presentacin y capa de
negocio conocido en el paradigma de la Programacin por capas representara la
integracin entre la Vista y su correspondiente Controlador de eventos y acceso a
datos, MVC no pretende discriminar entre capa de negocio y capa de presentacin
pero si pretende separar la capa visual grfica de su correspondiente programacin 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
- Modelo: la informacin almacenada en base de datos o en XML.
Frameworks
Es un trmino utilizado en la computacin en general, para referirse a un conjunto
de bibliotecas utilizadas para implementar la estructura estndar de una aplicacin.
Todo esto es realizado con el propsito de promover la reutilizacin de cdigo, con el
fin de ahorrarse trabajo al desarrollador al no tener que rescribir ese cdigo para cada
nueva aplicacin que se desea crear. Existen varios FrameWorks para diferentes fines,
algunos son orientados para aplicaciones web, otros para aplicaciones
multiplataforma, sistemas operativos, etc.
10
- Google Web Toolkit, Apache Struts, Ruby On Rails, entre otros.
Conclusin
Este patrn para el diseo y desarrollo permite producir software de alta calidad,
convirtiendo una aplicacin en un mdulo fcil de mantener y mejora la rapidez de su
desarrollo. La separacin de capas en modelos, vistas y controladores hace que las
aplicaciones sean fciles de entender.
11
Referencias
- Pavn, Juan. (2009) Estructura de las Aplicaciones Orientadas a Objetos. El
Patrn Modelo-Vista-Controlador (MVC). Universidad Complutense Madrid.
- Sommerville, Ian (2005). Ingeniera del Software. Pearson Educacin.
Electrnicas
- 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