El patrón flux

Edu Salguero
2 min readMar 9, 2018

--

Flux nace en el seno de Facebook como respuesta a los problemas que patrones con comunicación bidireccional como MVC o MVVM provocan en aplicaciones web con cierto grado de complejidad.

Flux es una arquitectura que facilita la gestión y flujo de datos de una aplicación web. Propone que el camino de los datos tenga un único sentido y que exista una única fuente de verdad. De este modo todo el flujo acaba llegando a un sitio que almacena el estado y que se encarga de actualizar las vistas que están suscritas a los cambios que en este tienen lugar.

Podemos decir que Flux es el encargado, en cierta modo, de desacoplar el estado global de la aplicación de la parte visual formada por los componentes.

De forma esquematizada el flujo de los datos es el siguiente:

Esquema Flux

Las vistas o componentes son las partes de la interfaz. La store representa, en cierto modo, al modelo de la aplicación cuyos datos solo pueden ser modificados a través de dispatchers. Estos no son más que mediadores entre las acciones y el store. Un action por su parte no es más que un objeto JavaScript que encapsula una intención de hacer algo y que puede llevar datos asociados.

Cuando el usuario realiza una acción en una vista mediante un evento envía una acción al dispatcher que propaga los cambios al Store, el cual actualiza su estado y notifica a las vistas ese cambio.

En muchos casos es habitual que la comunicación con el backend se realize mediante llamadas AJAX a través de un middelware o intermediario. Este se encuentra situado entre el action y el dispatcher y por lo tanto queda completamente integrado en el esquema anterior.

--

--