lunes, 4 de agosto de 2014

{ MVC } - ¿Que es MVC?

Hola a tod@s, ya me estaba sintiendo en deuda con todos ustedes porque hace tiempo no publicaba nada. Realmente creo que es obligación de todos compartir el conocimiento adquirido durante el recorrido en este mundo apasionante que es el software, y recibir retroalimentación de la comunidad para seguir creciendo.

En esta ocasión quiero compartir con ustedes una serie de conocimientos que he estado adquiriendo sobre el patrón de diseño MVC. Iniciemos: Primero miremos de que se trata este concepto.

¿Qué es MVC?

Much@s alguna vez nos preguntamos y ¿qué es esa cosa del MV C que tanto se está mencionando actualmente? Aquí te tenemos una definición de eso que tanta curiosidad está generando. MVC es un patrón arquitectónico cuyo principal propósito es establecer una separación clara entre la interfaz de usuario que presenta la aplicación y la lógica de negocio que maneja la misma. Es decir, queremos tener el control de todo en nuestra aplicación y la mejor manera de hacerlo es separando las cosas. Recuerden la filosofía que usamos en software “divide y vencerás” (Aquí tienes documentación: Wikipedia).

Los elementos que componen el patrón son los siguientes:

  • Modelo: Es la representación de los datos o entidades de negocio que modelan la aplicación. Es decir, una aplicación por lo general requiere manejar una cantidad de datos que servirán para realizar una cantidad de operaciones más adelante. El modelo es el lugar donde se encuentra la lógica que nos permite guardar en la base de datos e interactuar con esos datos tan importantes. Estos datos nos permitirán desplegar vistas al usuario con los datos procesados.
  • Controlador: Es el elemento encargado de recibir y procesar las peticiones HTTP para después retornar una vista concreta. Es aquí donde se reciben todas las solicitudes del cliente, se procesa la petición y se envía al mismo la respuesta relacionada.
  • Vista: Es el contenido o resultado que va a ser devuelto como consecuencia de la petición HTTP. También se puede decir que es la representación visual del modelo. Por eso la vista puede recibir el modelo para poder realizar la presentación de los datos.

Visualmente el patrón se ve asi:

Figura sacada de Fuente

Como podemos ver, el controlador es el encargado de interactuar con el modelo y las vistas. Aunque estas pueden acceder al modelo también, la interacción debe estar centralizada en el controlador para tener un solo punto de procesamiento y no regar lógica de negocio en toda la aplicación. La vista puede acceder al modelo porque en muchas ocasiones necesita las propiedades de las entidades de negocio para presentar los datos al cliente.

El flujo que debe seguir una aplicación que esté basada en este patrón es el siguiente: el cliente realiza una petición HTTP al servidor, este revisa la ruta de la misma y dirige la petición hacia una acción del controlador de la aplicación. El controlador procesa la información y solicita, si es necesario, datos al modelo. Recibida la información del modelo, el controlador la procesa y se la pasa a la vista para que esta se la despliegue al cliente. La vista tiene como objetivo mostrar información. Los procesamientos deben realizarse en el controlador.

Muy bien, espero esto les haya servido para aclarar el concepto implementado por el patrón MVC. En la próxima entrega vamos a iniciar con la implementación de una aplicación web que nos ayudará a ver el funcionamiento del patrón en .Net

Quedo atento a cualquier inquietud.

¡¡Hasta pronto!!

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 Colombia de Creative Commons

No hay comentarios:

Publicar un comentario