SlideShare a Scribd company logo
1 of 5
Download to read offline
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

More Related Content

What's hot

Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
Cecy Villalta
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
René Pilataxi
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
Luis Gutierrez
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
René Pilataxi
 
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
Alex Uhu Colli
 

What's hot (20)

El patrón MVC
El patrón MVCEl patrón MVC
El patrón MVC
 
MODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHPMODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHP
 
Analisis del patron mvc
Analisis del patron mvcAnalisis del patron mvc
Analisis del patron mvc
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Modelo, vista, controlador
Modelo, vista, controladorModelo, vista, controlador
Modelo, vista, controlador
 
MODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADORMODELO VISTA CONTROLADOR
MODELO VISTA CONTROLADOR
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Taller MVC
Taller MVCTaller MVC
Taller MVC
 
Arquitectura MVC
Arquitectura MVCArquitectura MVC
Arquitectura MVC
 
Mvc
MvcMvc
Mvc
 
Servicios web
Servicios webServicios web
Servicios web
 
Modelo vistacontrolador
Modelo vistacontroladorModelo vistacontrolador
Modelo vistacontrolador
 
MVC
MVCMVC
MVC
 
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
patron-mvc
 patron-mvc patron-mvc
patron-mvc
 
Health WorldBank 2012
Health WorldBank 2012Health WorldBank 2012
Health WorldBank 2012
 
Aplicaciones en capas1
Aplicaciones en capas1Aplicaciones en capas1
Aplicaciones en capas1
 
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
 
MVC
MVCMVC
MVC
 

Similar to MVC

Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
Renan Cayao
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
Laura Palma
 

Similar to MVC (20)

S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_point
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Asp
AspAsp
Asp
 
Lp II clase02 - Modelo Vista Controlador
Lp II   clase02 - Modelo Vista ControladorLp II   clase02 - Modelo Vista Controlador
Lp II clase02 - Modelo Vista Controlador
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Documentacion struts 2
Documentacion struts 2Documentacion struts 2
Documentacion struts 2
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Clase 10 mvc
Clase 10 mvcClase 10 mvc
Clase 10 mvc
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

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