Saltar a Comentarios

Martes, Julio 22nd, 2008

Modelo Vista Controlador

Posiblemente, si te dedicas a la programación, habrás oido hablar del Modelo Vista Controlador (MVC), ese mismo que tus profesores te insistían en usar tanto. El objetivo de este tipo de modelos es de intentar repetirse lo menos posible y de tenerlo todo organizado o sea hacer una distinción entre la lógica de toda la aplicación y presentación.

Los Fundamentos básicos del MVC son los siguientes:

  • Modelo: Esta sirve como representación específica de toda la información con la cual el sistema va a trabajar. La lógica de datos nos puede llegar a asegurar la integridad de ellos y nos permitirá derivar nuevos datos. ¿Como lo hace?  Pues , no permitiendonos comprar un número de unidades negativas, y también calculando si hoy puede ser el cumpleaños del usuario/a o también los totales, impuestos o importes en un sistema de venta.
  • Vista: Presenta el modelo con el que va a interactuar el usuario, más conocida como interfaz.
  • Controlador: El controlador responde más bien a eventos, normalmente son acciones que el usuario invoca, implica cambios en el modelo y también en la vista (interfaz).

¿Cuáles son los origenes del Modelo Vista Controlador?

Buscando un poco de información historica, podemos decir que este fue descrito por primera vez en 1979 por Trygve Reenskaug (hace ya basante tiempo, para el sector que tratamos), trabajador de Smalltalk, en unos laboratorios de gran investigación de Xerox.

La implementación del modelo fue descrita en este documento.

Frameworks MVC

Los MVC cumplen perfectamente el fin particular de cualquier frameworks, (una estructura bien definida que da soporte a un proyecto web también nos ayuda a que nuestro proyecto sea organizado y bien desarrollado).
Diagrama de Flujo de un framework MVC

Modelo Vista Controlador
Modelo Vista Controlador

1. El index.php nos inicializa el nucleo de nuestra aplicación.
2. El enrutador nos examina nuestra petición HTTP y nos ayuda a determinar que se debe de hacer.
3. Si existe, la cache nos devuelve nuestro archivo HTML sin necesidad de pasar por el sistema , ahorrandos la carga que esto nos conlleva.
4. La Seguridad, ya que antes de que se cargue el controlador se filtran los datos enviados para que estos puedan resultar fiables.
5. El controlador nos carga el modelo, librerias, helpers, plugins y todos los demás recursos necesarios para satisfacer nuestra petición.
6. Finalmente, cuando la Vista está renderizada, esta es enviada al navegador, encontes si la cache se encuentra habilitada, se almacena el resultado para la próxima ocación que la URL sea servida.


Entradas Relacionadas

6 Comentarios

  • Yenny white
    Opera Opera 9.63 en Windows Windows XP
    Marzo 17th, 2009 at 0:56

    hola q tal!!
    estoy intentando usar esta metodologia y por eso quisiera preguntarles si los objetos q defini se manejan todos bajo una clase manejadora?
    es q asi se realiza cuando trabajamos orientado a objetos pero con esta arquitectura me cuesta ver el menejo entre las clases y el modelo!!
    si pudieran responder lo mas pronto posible se los agradeceria!!!
    muchas gracias por su atencion!!

  • Jaime
    Safari Safari 525.19 en Mac OS Mac OS X
    Marzo 17th, 2009 at 10:02

    Cuando se trabaja orientado a objetos, se trabaja con objetos, que están definidos por sus clases, pero no hay una clase que englobe a todas ( a no ser que sigas un patrón de diseño). Luego en el modelo, usamos los objetos, pero va a parte de lo que es el MVC

  • Yenny white
    Opera Opera 9.63 en Windows Windows XP
    Marzo 18th, 2009 at 4:53

    Gracias Jaime muy amable de tu parte!!!
    aun estoy muy nueva en esta arquitectura pues pienso implementarla con la metodologia OOSW para el desarrollo de mi aplicacion web!! no se si tengas conocimientos al respecto?
    aun no logro saber si la arquitectura está contenida en esta metodologia pero el modelo funcional q define esta arquitectura me hacen pensar eso!! no se si este en lo correcto pues de esta metodologia he encontrado poca documentacion en la web!!!

    Me despido, continuare trabajando y seguiria fastidiando por aqui en caso de más dudas pues es lo mas probable!!
    XD

  • Jaime
    Mozilla Firefox Mozilla Firefox 3.0.7 en Windows Windows XP
    Marzo 18th, 2009 at 9:56

    Nada, cualquier duda ya sabes, no la conocía, ahora estuve buscando algo,
    Que tengas suerte ;)

  • John Ortiz
    Mozilla Firefox Mozilla Firefox 3.6.9 en Linux Linux
    Septiembre 21st, 2010 at 18:43

    Interesante artículo. En la Web he encontrado otros artículos, pero este se encuentra muy claro y concreto, además de corto. El diagrama de flujo evidencia explícitamente el funcionamiento general del patrón.

    ¿Quién tiene un ejemplo que siga este patrón de diseño?

    Hasta pronto y gracias.

  • Munoz27Isabelle
    Internet Explorer Internet Explorer 7.0 en Windows Windows NT
    Enero 28th, 2011 at 23:07

    When you are in not good state and have got no money to get out from that, you will have to take the loan. Because that should help you emphatically. I take small business loan every year and feel good because of that.