Home :: Otros :: Productividad :: Model View Controller
 
MVC

Model View Controller

ene 02, 2012 en Productividad por Victor Parasi

El modelo Model-View-Controller (MVC) es un patrón de diseño arquitectónico que separa los componentes de una aplicación. Esta separación ofrece más control sobre las partes individuales de la aplicación, lo cual permite desarrollarlas, modificarlas y probarlas más fácilmente.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

El Model View Controller o comunmente conocido como MVC es un patrón de arquitectura de software que consiste en separar, en tres componentes disitintos, los datos, la interfaz y la lógica del negocio de una aplicación.

Este tipo de patrón, es común en aplicaciones del tipo Web, donde claramente se puede ver que la interfaz es el código HTML. Otra aplicación , más moderna, de este patrón es en el desarrollo de aplicaciones Móviles.

Si regresamos por un momento al nombre de este post, vamos a notar que esta compuesto por tres palabras Modelo, Vista y Controlador. Aprender estos tres conceptos son, entonces, de suma importancia para aprender como trabaja el patrón.

 

  • Modelo: Esta conformado por los datos que forman parte de la aplicación, engloba los métodos necesarios para acceder (lógica) y manipular los datos.  El modelo debe de ser fácil de entender, y capaz de soportar a la mayor variedad de clientes. Debe de tener una interfaz que permita exponer los métodos para acceder y actualizar el estado de los objetos y ejecutar procesos complejos.  El modelo contiene servicios que son accedidos por el controlador, ya sea para consulta o efectuar algunos cambio de estado. El modelo debe notificar a la vista cuando exista algún cambio de estado.
  • Vista: Se encarga de presentar, al cliente, el estado del modelo en un formato adecuado para interactuar. Usualmente es conocida como la interfaz de usuario. La semántica de la presentación se
    encapsulado dentro de la vista, por lo tanto los datos del modelo se puede adaptar para diferentes tipos de clientes. La vista debe de actualizarse cuando hay un cambio en el modelo.
  • Controlador: Se encarga de responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista. El controlador se encarga de seleccionar la siguiente vista basado en el usuario de entrada y el resultado de las operaciones del modelo.

Veamos, gráficamente, la interacción entre estos tres componentes:

image

 

Para que quede claro el funcionamiento de MVC, analicemos el siguiente ejemplo:

Caso: Imaginemos que hemos desarrollado una página de Registro de Datos. El usuario, luego de ingresar la informacion necesaria, pulsa el botón OK.  En ese momento, el uso de MVC en nuestra aplicación lleva a lo siguiente:

  1. El usuario interactúa con la interfaz de usuario, pulsando el botón OK ( o cualquier otro tipo de disparador).
  2. El controlador recibe (por parte de los objetos de la vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
  3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario.
  4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario(según los permisos o roles que tenga)  donde se reflejan los cambios en el modelo. Durante la interacción el controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista.
  5. La interfaz de usuario (vista) espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Espero que con este post quede claro lo que significa el modelo vista controlador, dado que lo voy a usar en un próximo post.


Autor: Victor Parasi

Siempre es difícil escribir sobre uno mismo, qué contar, o por donde empezar, suele ser todo un dilema al momento de presentarse. Aquí vamos. Les diré que soy peruano, Ingeniero por vocación, dedicado a la docencia y siempre en la búsqueda de programar cada vez mejor. Aunque a veces algo terco, sé que no todo en la vida es blanco o negro. Existe el Open Source, y lo respeto pero me llevo mejor con el .Net. Si me hablas de preferencias, te digo que C#, C++, una buena película, colores oscuros, escribir, leer e investigar. Para terminar les diré que amo muchísimo a una mujer espectacular y que es la dueña de mi corazón.


Comentarios (4)

DDDHACKER dice:

Excelente articulo, ustedes escriben lo que necesito justo cuando lo necesito, ya tenia tiempo que no escribian un articulo, o al menos no lo habias visto, pero ahora que estoy estudiando java y struts esto me cae como anillo al dedo

Victor Parasi dice:

Que feliz coincidencia, ya pronto sale un ejemplo de MVC, pero en ASP.NET. :D

rBustamante dice:

Excelente articulo. gracias por seguir entregandonos esta informacion tan valiosa. Excelente inicio de año. Saludos

Victor Parasi dice:

Gracias!.

Deja un comentario

   

copstone en Facebook

Otros artículos

Copiar y Pegar archivos en una misma máquina puede resultar sencillo, pero te imaginas hacerlo a través de Internet e interactuar con un servidor FTP remoto?. Difícil?, lee este artículo y podrás darte cuenta que es bastante sencillo.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si crees que sólo hace falta saber de objetos, clases, etc. para conectarse a una Base de Datos, pues te equivocas, tienes que saber también de Servidor, usuarios, passwords, etc. Te dejo este post para que completes tu información y puedas aprender como conectarte a una Base de Datos

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Este es un artículo que todo programador de Windows debería leer. Si quieres poder tener un mayor control sobre lo que pasa en Windows y poder manipular sus ventanas como mejor te parezca, es necesario que conozcas primero el funcionamiento de las ventanas de Windows.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Sean amigas o enemigas, las funciones siempre son útiles, nos evitan estar reescribiendo el mismo código una y otra vez y nos dan la posibilidad de hacer nuestro código más claro y entendible.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Cuando hablamos de Estructura de Datos, se nos viene a la mente el concepto de Arreglos, Listas, etc, pero una muy importante es la Pila. Descubre que ayuda brinda el .Net Framework para trabajar con este tipo de Estructura.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Calendario

enero 2012
L M X J V S D
« nov    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Categorías

Comparte este artículo

  • Facebook
  • Google Bookmarks
  • Google Gmail
  • Twitter
  • Yahoo Mail
  • Hotmail
  • LinkedIn
  • Share
TIENES ALGO QUE PREGUNTAR? ESCRÍBENOS AQUÍ

Copyright © 2012 - Programando por diversion

Subir