El fin de MVC, llega MOVE

MVC (Modelo-Vista-Controlador) es una arquitectura empleada para el desarrollo de software –mayoritariamente web– en la que se separan la representación de la información de la interacción de los usuarios con esta. En el MVC tenemos tres componentes:

  • Modelo: que es la lógica del negocio, el diseño de la base de datos, la forma en que se almacena y administra la información.
  • Vista: es la representación de esa información. Puede ser una tabla, un diagrama o una página HTML.
  • Controlador: es el pegamento entre la Vista y el Modelo, es decir, el controlador se encarga de recibir las instrucciones del usuario, procesarlas y enviarlas al modelo para recibir la información necesaria, luego, se encarga de devolver lo necesario al usuario en una vista.

Simple y sencillo, eso es el patrón MVC.

Desde que lo conozco me parece excelente, se trabaja la creación de software de una forma practica y ágil. Sin embargo, para muchos el MVC no es tan eficaz como dice ser. Tiene muchas falencias, las cuales un nuevo patrón propone mejorar, se trata del patrón MOVE.

Leyendo un poco sobre la arquitectura MOVE encuentro que esta propone solucionar el inconveniente que se enfrentan los controladores, al final, mucho código terminar por estar en los controladores y por eso el patrón MOVE ofrece cuatro componentes: Modelo, Operaciones, Vistas y Eventos.

patron MOVESegún se explica en la web donde encuentro esta información, traduzco:

  • El Modelo encapsula todo lo que sabe tu aplicación.
  • Las Operaciones encapsulan todo lo que hace tu aplicación.
  • Las Vistas median entre tu aplicación y el usuario.
  • Los Eventos son usados para unir todos estos componentes de forma segura.

Sigo haciendo traducción del post original.

Modelo

Partiendo de que un modelo cuenta al menos con el objeto “usuario” tenemos que este cuenta con un correo, nombre y número de teléfono.

En una aplicación basada en MOVE los modelos solo agrupan el conocimiento, o sea que, pueden contener funciones que te permitan saber si x contraseña es la de x usuario, pero, no tienen funciones que te permitan guardar esa información en una base de datos o enviar a una API externa. Eso es el trabajo de las Operaciones.

Operaciones

Una operación básica de una aplicación es iniciar sesión, aunque en realidad son dos operaciones juntas. Primero, se obtiene el correo y contraseña del usuario, luego, se carga el modelo “usuario” y se revisa que la contraseña sea la correcta.

Las operaciones son las hacedoras en MOVE. Se encargan de hacer cambios en el modelo, mostrar la vista correcta y de responder a eventos ejecutados por las interacciones de los usuarios. En una aplicación bien escrita, cada sub-operación puede ejecutarse independientemente de su padre.

Un punto interesante de las operaciones es que tu aplicación entere puede tratarse como una operación que inicia cuando la aplicación se ejecuta.

Vistas

Todo lo que un usuario ve y con lo que interactúa en la aplicación debe ser provisto por una vista. No solo muestran el estado de la aplicación de manera comprensible, también simplifican el flujo de interacciones entrantes hacia eventos significativos. Es importante tener en cuenta que las vistas no cambian los modelos directamente, únicamente emiten eventos hacia operaciones y esperan los cambios escuchando los eventos que devuelven los modelos.

Eventos

Cuando el usuario hace clic en “Iniciar sesión” se libera un evento. También, cuando se completa el inicio de sesión, el modelo “usuarioActual” emitirá un evento para notificar a la aplicación que éste ha sido cambiado.

Escuchar a los eventos es lo que le brinda a MOVE –también a MVC– el control que necesitas para permitirle a los modelos actualizar las vistas sin que éstos sean afectados directamente. Esta es una técnica de abstracción de gran poder que le permite a los componentes reunirse sin interferir el uno con el otro.

El patrón de diseño MOVE ofrece muchas ventajas y un nuevo aire a la creación de software teniendo en cuenta que MVC fue creado ya hace mucho tiempo y que por tal razón merece una actualización –por así decirlo– aunque aún sigue siendo usado. Y seguirá siendo usado.

Mientras leía y escribía este artículo hice búsquedas sobre MOVE pero no encontré más. Esperemos a ver que sucederá con esta sugerencia.

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s