A cornerstone of any Flux architecture is unidirectional data-flow. The idea being data flows from point A to point B, or from point A to B to C, or from point A to C. It's the direction that's important with unidirectional data-flow, and to a lesser extent, the ordering. So when we say that our architecture uses a unidirectional data-flow, we can say that data never flows from point B to point A. This is an important property of Flux architectures.
As we saw in the previous section, MV* architectures have no discernible direction with their data-flows. In this section, we'll talk though some of the properties that make a unidirectional data-flow worth implementing. We'll begin with a look at the starting points and completion points of our data-flows, and then we'll think about how side-effects can be avoided when data flows in one direction.