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
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.