Solución

La solución que proponen los **GoF** (Gang of Four) es agregar una nueva capa justo entre la capa de interfaz y la capa de lógica de negocio, lo que podríamos llamar la capa de gestión de interfaz.

El objetivo de esta capa sería atender los eventos de la interfaz de usuario, invocar al negocio según la acción lanzada desde la interfaz, esperar la respuesta del negocio y actualizar la interfaz. Las clases presentes en esta capa por lo general se nombran clases controladoras.

Vamos a ver la imagen resultante:

Arquitectura propuesta por el GoF para el desarrollo del software

En un principio, como vemos en la imagen anterior, la capa interfaz no conoce absolutamente nada de lo que hay debajo de ella. Es la capa de gestión de interfaz controladora, quien sirve de enlace entre la interfaz o vista y el negocio o modelo. Este nuevo diseño permite por ejemplo utilizar la misma interfaz para múltiples propósitos, o intercambiar una interfaz por otra con un mínimo esfuerzo.

Este diseño estructurado en capas en la que se separa toda la lógica de negocio de la lógica de presentación es lo que el **GoF** ha llamado patrón MVC. El patrón MVC es un patrón de diseño cuyo objetivo es organizar el flujo de datos en las aplicaciones permitiendo construir sistemas más robustos y fáciles de mantener y extender. MVC proviene de **Model View Controller**(Modelo Vista Controlador), y como bien indica su nombre, en este patrón se identifican tres capas fundamentales: la capa Modelo (relacionada con la fuente de datos), la capa Vista (encargada de mostrar información al usuario) y la capa Controlador (encargada de extraer información del modelo para enviarlo a la vista según la petición realizada por la misma)

El patrón de diseño MVC no es ni mucho menos exclusivo de aplicaciones web. Ni siquiera es original del GoF. Fue descrito por primera vez en 1979, con el nacimiento del lenguaje Smalltalk en Xerox, y hoy es ampliamente usado en multitud de frameworks, librerías y entornos GUI (por ejemplo la librería Swing de Java). La web es solo uno de los contextos en los que se ha aplicado hasta ahora la idea de MVC, y es importante tener en cuenta que el patrón tal y como se aplica en la web es una adaptación del patrón original al funcionamiento de HTTP.

results matching ""

    No results matching ""