Logo de Torre de Babel
Portada Libros Diseño web Artículos Glosario RSS
Buscar

Píldora histórica (10): El origen de MVC

En el campo de la ingeniería del software los denominados patrones representan las buenas prácticas que se emplean para resolver un problema bien conocido. Existen patrones de código, como singleton para evitar que se cree más de una instancia de una clase o strategy para desacoplar la interfaz pública de un sistema respecto de su implementación. En un nivel superior están los patrones arquitectónicos, cuya finallidad es guiar la arquitectura de un sistema software más que resolver un problema discreto.

De los patrones arquitectónicos existentes seguramente el más conocido sea MVC (Model View Controller/Modelo-Vista-Controlador). Se utiliza al construir aplicaciones que cuentan con una interfaz de usuario y permite separar desde un punto de vista lógico los elementos que representan el modelo de la aplicación; el modelo (la información y el estado sobre el que se opera), de la forma en que se presentará al usuario y los medios que se usarán para comunicarse con éste (la vista), actuando el controlador como un gestor que ejecutará las acciones solicitaddas comunicándose con el modelo y actuando sobre la vista. Este desacoplamiento no solamente facilita el diseño, implementación y posterior mantenimiento de un sistema sino que, además, permite que éste cuente con varias vistas intercambiables.

El primer documento en que se habla de la separación de los elementos de un sistema software en un modelo de ordenador, un software controlador y una vista manipulable por el usuario surge en los Xerox PARC (Palo Alto Research Center) en 1978, mencionándose un componente adicional, llamado Editor, que forma parte de la vista.

Durante el desarrollo de una aplicación (por parte de un científico visitante que pasaba una temporada en el PARC) se hizo patente la necesidad de buscar una solución general al problema que planteaba el control de un conjunto de datos grande y complejo por parte de un usuario. El objetivo era adaptar el modelo de ordenador de esos datos al modelo mental de la persona que debía usarlos, interponiendo los componentes software apropiados para ello. La aplicación a desarrollar era un sistema de planificación y en él se empleaban cuatro metáforas: thing, model, view y editor, extrapolación del objeto de interés para el usuario, la abstracción de ese objeto en forma de datos en un ordenador, una o más posibles representaciones de dicho objeto y la interfaz entre el usuario y esas vistas, respectivamente.

Tras un proceso de refinamiento se definió el modelo como una representación del conocimiento con el que debe trabajar el sistema, la vista como una representación visual de ese modelo y se introduce el controlador como el enlace entre el usuario y el sistema. Estas ideas se plasman en un documento publicado el 10 de diciembre de 1979 con el título Model-Views-Controllers, naciendo el acrónimo MVC. La primera implementación de MVC como patrón arquitectónico, más allá de la aplicación puntual que le dio origen, se efectuó en el propio PARC para la librería Smalltalk-80. A partir de ese momento comenzó su popularización y se extendió su uso, con independencia de plataformas, lenguajes de programación e incluso arquitectura del sistema a desarrollar.


Publicado el 9/8/2010

Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web