Facebook announced that it's using the architecture they call Flux to develop their projects.
It consists of a single direction dataflow, and concepts like a Dispatcher
, Stores
and Actions
(well described here).
This is their illustration of how the pieces glue together:
Views ---> (actions) ----> Dispatcher ---> (registered callback) ---> Stores -------+
Ʌ |
| V
+-- (Controller-Views "change" event handlers) ---- (Stores emit "change" events) --+
My question is: Is that a new idea? Is it a application architecture used before? Is it a "best practice" borrowed from another language/framework?
The purpose of this question is to deepen the knowledge about the architecure which have been gaining lots of attention lately, and seem very different from the MV*
pattern most developers I know have been working with.