viernes, 10 de septiembre de 2010

Introducción a MVC

MVC

¿Qué es MVC?

Hola a todos mis seguidores, bien en este artículo quiero compartirles lo que he aprendido acerca de este concepto.

MVC son las siglas de Modelo-Vista-Controlador, pero que es realmente MVC, ¿un modelo? ¿Una tecnología? ¿Una herramienta? Ninguna de ellas. MVC es un patrón de desarrollo de software. Como lo dice en las siglas, este patrón está compuesto por Modelos, por Vistas y por Controladores, los cuales interactúan entre sí para lograr desarrollar aplicaciones de una manera más eficiente y sencilla. A continuación les dejo un esquema del patrón:


Pero antes de explicar de qué manera interactúan estos conceptos pasaré a explicar que son cada uno de ellos:

Componentes del Patrón

Modelo

Un modelo es una abstracción de la realidad y reflejada en una librería de clases, en un objeto de entidad (EntityDataModel), un objeto de base de datos, en fin, hay muchas maneras de reflejar dicha realidad en nuestra aplicación. Todo dependerá de la herramienta de desarrollo, de la complejidad del problema y demás factores del entorno. El modelo contiene una estructura que representa el contexto en donde se implementará la aplicación. Ej: En un sencillo ejemplo, nuestro Modelo podría ser algo así:

public class Product

{

public int id { get; set; }

public string detail { get; set; }

public int price { get; set; }

}


public class Category

{

public int id { get; set; }

public string detail { get; set; }

}

Dos clases, Product y Category, que representarán justamente a productos y categorías de nuestro negocio. Debe quedar claro que un modelo no almacena los datos sino que es el “esqueleto” de dichos datos.


Vista

Una vista es una muestra del modelo en la pantalla. Cuando se diseña una vista, lo que se diseña es la presentación de los datos. La vista es la interfaz entre el usuario y la aplicación. En nuestro ejemplo una vista podría mostrar una lista de productos en un gridview, o los productos asociados a una categoría.

Ej:


Controlador

Un controlador es un manejador, un nexo, entre el modelo y la vista. El controlador es el encargado de traer los datos del modelo y llamar a la vista correspondiente para mostrarla en pantalla. Entonces el controlador es el que realiza la acción y la parte dinámica de la aplicación. Para nuestro pequeño ejemplo, el controlador sería algo así:

public ActionResult Products()

{

Product p1 = new Product(){

id = 1,

detail="caramelo masticable",

price = 0.54

};

Product p2 = new Product(){

id=2,

detail="galleta pepito",

price=1.2

};

List<Product> productos = new List<Product>();

productos.Add(p1);

productos.Add(p2);

return PartialView(productos);

}

Síntesis

Entonces el patrón MVC permite desarrollar aplicaciones de tal manera que los componentes (Modelo, Vista y Controlador) interactúen entre sí pero que a su vez sean totalmente independientes. Es decir, que cada componente puede ser desarrollado independientemente, y por personas distintas, para luego ser unificado en un proyecto final. Puede haber un encargado de realizar la vista, mientras el desarrollador .NET se centra en realizar la dinámica de la aplicación y el desarrollador de datos, se ocupa de diseñar el modelo.

En fin una buena opción para desarrollar aplicaciones de una manera práctica y sencilla. Claro que no es la única forma de desarrollar… pero esta comparativa la dejo para otro artículo.


referencia: MVC Overview


No hay comentarios:

Publicar un comentario