SlideShare una empresa de Scribd logo
Universidad Andrés Bello

Escuela Tecnológica

Ingeniera en Computación e Informática




Introducción al Patrón
                      MVC




                                         Esteban López Betancourt

                                             04/Septiembre/2009
Introducción
       Los patrones de diseño son soluciones a problemas específicos y comunes del
diseño orientado a objetos. Estas soluciones están basadas en la experiencia y se
encuentran bien documentados.

       Uno de ellos es el patrón MVC, el cual separa el diseño de una solución en tres
grandes componentes principales: Modelo, Vista y Controlador. Éstos manejan los
datos de una aplicación, la interfaz de usuario y la lógica de control respectivamente.

Concepto
Patrón MVC

      A alto nivel, el patrón MVC permite separar los distintos aspectos de una
aplicación (Inputs Lógicos, Lógica de Negocio, Lógica de UI), otorgando un bajo
acoplamiento entre estos elementos. Esto permite que al momento de construir una
aplicación, nos focalicemos sólo en un aspecto, como por ejemplo en un vista, sin
tener dependencia de la lógica del Negocio.

       Además el desacoplamiento de sus componentes, permite que los distintos
aspectos se puedan desarrollador en paralelo. Así, un desarrollador se puede abocar a
la vista, un segundo desarrollador a la lógico del controlador y otro focalizarse en la
lógica de negocio en el modelo.




Ventajas de Usar MVC

          Permite tener completo control sobre el comportamiento de una aplicación
          Testear una aplicación se vuelve más fácil, al no tener que instanciar la clase
           de la página individual, sus controles anidados y clases adicionales que
           dependan de su uso para el testeo.
          Soporta muy bien aplicaciones que requieran de un gran equipo de
           desarrollo, donde se necesita un gran nivel de profundidad y
modularización, otorgando un completo control sobre el módulo asignado,
           independiente del resto.

Componentes Patrón MVC
Modelo:

      Corresponde a la parte de la aplicación que implementa la lógica del Dominio de
Datos de la aplicación, además de incorporar la persistencia de datos.
Frecuentemente, los objetos del modelo recuperan y almacenan los estados del
modelo en la base de datos. Aquí se hace el levantamiento de los objetos que el
sistema deba utilizar y es el proveedor de los recursos al Controlador

Vista:

      Es el componente que despliega la interfaz de usuario de aplicación.
Normalmente (no siempre), esta UI es creada a partir de los datos del modelo (Un
ejemplo puede ser una vista de edición de una tabla de Productos que muestra
cuadros de texto, listas desplegables y casillas de verificación basado en el estado
actual de los objetos Producto). Esta puede ser una web html, un xml, un archivo
binario, etc.

Controlador:

        El controlador maneja la interacción del usuario, trabaja con el Modelo, y por
último selecciona la vista a renderizar en la interfaz de usuario. En una aplicación MVC,
la vista sólo despliega información; el controlador maneja y responde los inputs e
interacción del usuario. Éste escucha los cambios a la vista y se los envía al modelo.



      Un ciclo a alto nivel se desarrolla de la siguiente forma; El usuario envía
peticiones (no la vista) las cuales son recibidas por el lado servidor con el controlador,
éste sabe cómo y quién se debe comunicar del Modelo para responder ante el
requerimiento. La respuesta del controlador finalmente es una vista, o una vista
parcial.
Modelo de Ejecución de aplicaciones MVC

      Es muy importante que conozcamos el significado de una URL en el modelo MVC.
Sabemos que comúnmente, en tecnologías como ASP.NET, existe una relación uno a
uno entre la URL y la página Es decir, si decimos www.misitio.com/mipagina.aspx , se
está haciendo referencia directamente a la página mipagina.aspx

      En MVC no existe correspondencia entre la URL digitada y la página física, puesto
que la URL corresponde a una acción del controlador. Mientras una tecnología
comúnmente se centra en el contenido, una aplicación MVC está centrada en la lógica
de la aplicación.

      Por ejemplo, en ASP.NET el Enrutamiento se realiza a través de una característica
del Framework ASP.NET MVC llamada Routing. Para ello utiliza una tabla dinámica que
se crea al iniciar la aplicación, que es configurada en un archivo de carácter global,
llamado Global.asax.

Aplicación
       Se recomienda su aplicación en aquellos proyectos donde se contemple un gran
número de desarrolladores, y se les pueda distribuir las tareas de forma modular y
centralizada en tareas bien definidas y cuantificables.

        A modo de ejemplo, para el desarrollo del Framework ASP.NET MVC 1.0, se
desarrolló un sitio completo a partir del patrón MVC. El cual se puede acceder a través
de la siguiente URL: www.nerddinner.com




       Además, es posible descargar el código y el manual respectivamente desde:

       http://www.codeplex.com/nerddinner
       http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf
Fuentes de Información
Título: Una Introducción al patrón ASP.NET MVC

Url: http://oscarhf2002.spaces.live.com/blog/cns!9F94E04EE7CB70B5!364.entry



Título: Lear ASP.NET MVC 1.0

Url: http://www.asp.net/learn/mvc/#MVC_Overview



Título: Understanding Models, Views & Controllers

Url: http://www.asp.net/learn/mvc-videos/video-396.aspx



Título: Professional ASP.NET MVC 1.0

Autor: Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie

Url: http://www.tinyurl.net/aspnetmvc



Título: Patrón de Diseño

Url: http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o



Título: Patrones de Diseño, Diseño de Sw OO.

Url: http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php

Más contenido relacionado

ODP
Arquitectura Mvc
Lupita Lopez Glez
 
PPTX
Poo introduccion al patron mvc - renee morales calhua
Renee Morales Calhua
 
PPTX
Patron de Desarrollo Modelo Vista Controlador
Henry Vargas
 
PPT
Patrón MVC
Danto
 
PPTX
Modelo vista controlador
Emilio Sarabia
 
PDF
Calculadora Gráfica Java implementando el Patrón MVC
Ignacio Aular Reyes
 
Arquitectura Mvc
Lupita Lopez Glez
 
Poo introduccion al patron mvc - renee morales calhua
Renee Morales Calhua
 
Patron de Desarrollo Modelo Vista Controlador
Henry Vargas
 
Patrón MVC
Danto
 
Modelo vista controlador
Emilio Sarabia
 
Calculadora Gráfica Java implementando el Patrón MVC
Ignacio Aular Reyes
 

La actualidad más candente (20)

PPTX
El patrón MVC
Roberto Luis Bisbé
 
PDF
MODELO VISTA CONTROLADOR EN PHP
Gabriel Atilio Carrillo Seijas
 
PDF
Analisis del patron mvc
David Kotlirevsky
 
PPTX
Model View Controller (MVC)
victorbalta
 
PDF
Modelo, vista, controlador
Cecy Villalta
 
PPTX
MODELO VISTA CONTROLADOR
René Pilataxi
 
DOCX
Modelo vista controlador
Luis Gutierrez
 
PDF
Taller MVC
betabeers
 
PPT
Arquitectura MVC
Andres Felipe Trujillo Madrigal
 
PPTX
Servicios web
Emilio Sarabia
 
PPTX
Modelo vistacontrolador
René Pilataxi
 
PPTX
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
Luis Fernando Aguas Bucheli
 
PDF
Modelo vista controlador
Erick Aguila Martínez
 
PPTX
patron-mvc
JOEL PUMA BUENDIA
 
PDF
Health WorldBank 2012
Carlos Luis Sánchez Bocanegra
 
PPSX
Aplicaciones en capas1
mariana
 
DOCX
Modelo vista controlador vas Programacion por n capas
Alex Uhu Colli
 
El patrón MVC
Roberto Luis Bisbé
 
MODELO VISTA CONTROLADOR EN PHP
Gabriel Atilio Carrillo Seijas
 
Analisis del patron mvc
David Kotlirevsky
 
Model View Controller (MVC)
victorbalta
 
Modelo, vista, controlador
Cecy Villalta
 
MODELO VISTA CONTROLADOR
René Pilataxi
 
Modelo vista controlador
Luis Gutierrez
 
Taller MVC
betabeers
 
Servicios web
Emilio Sarabia
 
Modelo vistacontrolador
René Pilataxi
 
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
Luis Fernando Aguas Bucheli
 
Modelo vista controlador
Erick Aguila Martínez
 
patron-mvc
JOEL PUMA BUENDIA
 
Health WorldBank 2012
Carlos Luis Sánchez Bocanegra
 
Aplicaciones en capas1
mariana
 
Modelo vista controlador vas Programacion por n capas
Alex Uhu Colli
 
Publicidad

Similar a MVC (20)

PPTX
S01-s1-MVC.pptx
AnthonyJosuVillar
 
PPTX
modelo MVC.pptx
Ram Vazquez
 
PDF
Frameworks MVC para desarrollo de UITES
Jesus Caceres Tello
 
PPTX
SESION 8(1).pptxytrjrjyrjyrjyrtj4ryhbrbrjnhryj
juandiegocubasleiva
 
PPTX
MVC & ASP.NET (Spanish)
Senior Dev
 
PDF
Patron mvc struts
Jesus Caceres Tello
 
PPTX
Modelo mvc
Juan Acevedo Solis
 
PPTX
S8 arely medina_power_point
Arely_Medina
 
PDF
Modelo vista controlador #ihcpfgigs_Diseñoweb
Pierina G. Abad
 
DOCX
Documentacion struts2
Ramon David Bello Flores
 
PPT
Struts en Java
SIIS UNJBG, Tacna
 
PPTX
Lp II clase02 - Modelo Vista Controlador
AngelDX
 
PDF
patrón MVC.pdf
German Zarza
 
PDF
Implementacion de un portal web para la automatización del proceso de consult...
Renan Cayao
 
DOCX
Documentacion struts2 laura.palma
Laura Palma
 
PPTX
Asp.net mvc
Juan Carlos Prieto
 
DOCX
Documentacion struts 2
Pedro Alexander Villamar Alcívar
 
PDF
Framework
carlos0903199520
 
S01-s1-MVC.pptx
AnthonyJosuVillar
 
modelo MVC.pptx
Ram Vazquez
 
Frameworks MVC para desarrollo de UITES
Jesus Caceres Tello
 
SESION 8(1).pptxytrjrjyrjyrjyrtj4ryhbrbrjnhryj
juandiegocubasleiva
 
MVC & ASP.NET (Spanish)
Senior Dev
 
Patron mvc struts
Jesus Caceres Tello
 
Modelo mvc
Juan Acevedo Solis
 
S8 arely medina_power_point
Arely_Medina
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Pierina G. Abad
 
Documentacion struts2
Ramon David Bello Flores
 
Struts en Java
SIIS UNJBG, Tacna
 
Lp II clase02 - Modelo Vista Controlador
AngelDX
 
patrón MVC.pdf
German Zarza
 
Implementacion de un portal web para la automatización del proceso de consult...
Renan Cayao
 
Documentacion struts2 laura.palma
Laura Palma
 
Asp.net mvc
Juan Carlos Prieto
 
Documentacion struts 2
Pedro Alexander Villamar Alcívar
 
Framework
carlos0903199520
 
Publicidad

Último (20)

DOCX
Informe de Tecnologia Diagrama de Pareto Juan Martinez, Alexandra Delgado, L...
edepisabellanaranjo
 
PDF
Documentos Básicos De Programación.pdf.
kathedelgadoarredond
 
PDF
Tecnología. Programación pseint 10-7 Sol Riaño Támara
edepsolriano
 
PDF
actividad tecnologia (1).pdflksjksIUQWDIUWEGDHI
anavallejo2323
 
PDF
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
PDF
Trabajo Tecnología #2 Periodo (2).pdfjdjfjf
ssuser57b6e41
 
PDF
Problema de pareto resuelto iandanielpdf
IanDanielGiraldoRami
 
PDF
Índice del libro "Cuentos para Minihackers II: Un verano alucinante"
Chema Alonso
 
PDF
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
DOCX
tecnologia actividad segundo periodo.docx
samuelcuaran
 
PDF
Distribución de frecuencias y diagrama de pareto en Excel
Eleazar88
 
PPTX
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
PDF
Trabajo grupal segundo periodo Tecnología .pdf
edepemanuelflechas
 
PDF
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
PDF
Trabajo Tecnología Diagrama De Pareto.pdf
srsantiagof09
 
PDF
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
PDF
excel.pdf valentinamueses111 trabajo tecnologia
4zz5vkthyk
 
PDF
2do grado medios de transportes.pdf para el primario
AndreaAlegre18
 
PDF
Diagrama de Pareto en PDF pareto el mejor
zaidmarinb11
 
PDF
Trabajo Tecnología #2 Periodo (1).pdf ajdj
colgess2
 
Informe de Tecnologia Diagrama de Pareto Juan Martinez, Alexandra Delgado, L...
edepisabellanaranjo
 
Documentos Básicos De Programación.pdf.
kathedelgadoarredond
 
Tecnología. Programación pseint 10-7 Sol Riaño Támara
edepsolriano
 
actividad tecnologia (1).pdflksjksIUQWDIUWEGDHI
anavallejo2323
 
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
Trabajo Tecnología #2 Periodo (2).pdfjdjfjf
ssuser57b6e41
 
Problema de pareto resuelto iandanielpdf
IanDanielGiraldoRami
 
Índice del libro "Cuentos para Minihackers II: Un verano alucinante"
Chema Alonso
 
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
tecnologia actividad segundo periodo.docx
samuelcuaran
 
Distribución de frecuencias y diagrama de pareto en Excel
Eleazar88
 
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
Trabajo grupal segundo periodo Tecnología .pdf
edepemanuelflechas
 
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
Trabajo Tecnología Diagrama De Pareto.pdf
srsantiagof09
 
DIAGRAMA DE PARETO M. Camila Duque Loaiz
MariacamilaDuqueloai
 
excel.pdf valentinamueses111 trabajo tecnologia
4zz5vkthyk
 
2do grado medios de transportes.pdf para el primario
AndreaAlegre18
 
Diagrama de Pareto en PDF pareto el mejor
zaidmarinb11
 
Trabajo Tecnología #2 Periodo (1).pdf ajdj
colgess2
 

MVC

  • 1. Universidad Andrés Bello Escuela Tecnológica Ingeniera en Computación e Informática Introducción al Patrón MVC Esteban López Betancourt 04/Septiembre/2009
  • 2. Introducción Los patrones de diseño son soluciones a problemas específicos y comunes del diseño orientado a objetos. Estas soluciones están basadas en la experiencia y se encuentran bien documentados. Uno de ellos es el patrón MVC, el cual separa el diseño de una solución en tres grandes componentes principales: Modelo, Vista y Controlador. Éstos manejan los datos de una aplicación, la interfaz de usuario y la lógica de control respectivamente. Concepto Patrón MVC A alto nivel, el patrón MVC permite separar los distintos aspectos de una aplicación (Inputs Lógicos, Lógica de Negocio, Lógica de UI), otorgando un bajo acoplamiento entre estos elementos. Esto permite que al momento de construir una aplicación, nos focalicemos sólo en un aspecto, como por ejemplo en un vista, sin tener dependencia de la lógica del Negocio. Además el desacoplamiento de sus componentes, permite que los distintos aspectos se puedan desarrollador en paralelo. Así, un desarrollador se puede abocar a la vista, un segundo desarrollador a la lógico del controlador y otro focalizarse en la lógica de negocio en el modelo. Ventajas de Usar MVC  Permite tener completo control sobre el comportamiento de una aplicación  Testear una aplicación se vuelve más fácil, al no tener que instanciar la clase de la página individual, sus controles anidados y clases adicionales que dependan de su uso para el testeo.  Soporta muy bien aplicaciones que requieran de un gran equipo de desarrollo, donde se necesita un gran nivel de profundidad y
  • 3. modularización, otorgando un completo control sobre el módulo asignado, independiente del resto. Componentes Patrón MVC Modelo: Corresponde a la parte de la aplicación que implementa la lógica del Dominio de Datos de la aplicación, además de incorporar la persistencia de datos. Frecuentemente, los objetos del modelo recuperan y almacenan los estados del modelo en la base de datos. Aquí se hace el levantamiento de los objetos que el sistema deba utilizar y es el proveedor de los recursos al Controlador Vista: Es el componente que despliega la interfaz de usuario de aplicación. Normalmente (no siempre), esta UI es creada a partir de los datos del modelo (Un ejemplo puede ser una vista de edición de una tabla de Productos que muestra cuadros de texto, listas desplegables y casillas de verificación basado en el estado actual de los objetos Producto). Esta puede ser una web html, un xml, un archivo binario, etc. Controlador: El controlador maneja la interacción del usuario, trabaja con el Modelo, y por último selecciona la vista a renderizar en la interfaz de usuario. En una aplicación MVC, la vista sólo despliega información; el controlador maneja y responde los inputs e interacción del usuario. Éste escucha los cambios a la vista y se los envía al modelo. Un ciclo a alto nivel se desarrolla de la siguiente forma; El usuario envía peticiones (no la vista) las cuales son recibidas por el lado servidor con el controlador, éste sabe cómo y quién se debe comunicar del Modelo para responder ante el requerimiento. La respuesta del controlador finalmente es una vista, o una vista parcial.
  • 4. Modelo de Ejecución de aplicaciones MVC Es muy importante que conozcamos el significado de una URL en el modelo MVC. Sabemos que comúnmente, en tecnologías como ASP.NET, existe una relación uno a uno entre la URL y la página Es decir, si decimos www.misitio.com/mipagina.aspx , se está haciendo referencia directamente a la página mipagina.aspx En MVC no existe correspondencia entre la URL digitada y la página física, puesto que la URL corresponde a una acción del controlador. Mientras una tecnología comúnmente se centra en el contenido, una aplicación MVC está centrada en la lógica de la aplicación. Por ejemplo, en ASP.NET el Enrutamiento se realiza a través de una característica del Framework ASP.NET MVC llamada Routing. Para ello utiliza una tabla dinámica que se crea al iniciar la aplicación, que es configurada en un archivo de carácter global, llamado Global.asax. Aplicación Se recomienda su aplicación en aquellos proyectos donde se contemple un gran número de desarrolladores, y se les pueda distribuir las tareas de forma modular y centralizada en tareas bien definidas y cuantificables. A modo de ejemplo, para el desarrollo del Framework ASP.NET MVC 1.0, se desarrolló un sitio completo a partir del patrón MVC. El cual se puede acceder a través de la siguiente URL: www.nerddinner.com Además, es posible descargar el código y el manual respectivamente desde: http://www.codeplex.com/nerddinner http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf
  • 5. Fuentes de Información Título: Una Introducción al patrón ASP.NET MVC Url: http://oscarhf2002.spaces.live.com/blog/cns!9F94E04EE7CB70B5!364.entry Título: Lear ASP.NET MVC 1.0 Url: http://www.asp.net/learn/mvc/#MVC_Overview Título: Understanding Models, Views & Controllers Url: http://www.asp.net/learn/mvc-videos/video-396.aspx Título: Professional ASP.NET MVC 1.0 Autor: Rob Conery, Scott Hanselman, Phil Haack, Scott Guthrie Url: http://www.tinyurl.net/aspnetmvc Título: Patrón de Diseño Url: http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o Título: Patrones de Diseño, Diseño de Sw OO. Url: http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php