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

Quieres aprender a crear tu propio protector de pantalla? Este es el sitio para comenzar. Te enseñaré los conceptos básicos de un protector de pantalla y como crear uno bastante simple.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Sabes lo que sucede cuando invocamos una función?, Sientes que tu aplicación es lenta a pesar que la diviste en funciones? Crees que tener muchas funciones en tu aplicación es malo?. Resuelve tus dudas leyendo este post.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Continuando con el post anterior, aquí te dejo la seguna parte de la sintaxis de TCSH, espero que puedas atreverte a programar cosas en Linux luego de leer este post.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Alguna vez has querido fastidiar a alguien con quien compartes tu PC? En este artículo te muestro como poder cambiar la lista de direcciones DNS de tu máquina para que no puedan acceder a algunas páginas web o para que al momento de escribirlas te redireccionen a otro lugar.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si en el post anterior vimos como conectarnos a un Servidor SQL, es momento de aprender como podemos recorrer la información obtenida mediante un DataSet. En este post he tratado de hacer una definición resumida de lo que es un DataSet pero principalmente he colocado el código necesario para que puedas ir aprendiendo más acerca de esta clase importante de ADO.NET

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