MVC

5
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

description

Pequeño paper de introducción a MVC

Transcript of MVC

Page 1: MVC

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

Page 2: MVC

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

Page 3: MVC

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.

Page 4: MVC

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

Page 5: MVC

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