The Flux architecture abides by a single unidirectional data-flow throughout the entire application.
This provides us with a host of benefits, ranging from easier to reason about code, to clearer testing strategies.
However, one issue we faced in our recently updated interface tradesmen use to communicate with customers, was how to handle asynchronous calls within these constraints.
Throughout this post I wish to guide you through the iterative design decisions made, along with the resulting abstractions and boundaries.
This weekend I have had the chance to explore Cartesian products.
The Cartesian product (cross-product) is essentially an operation which returns a product set from multiple supplied sets.
Whilst completing the Functional Programming Principles in Scala course a couple of years ago one of the exercises was in the realm of Peano numbers.
This subject fascinated me, how we were able to represent non-negative natural numbers without any preformed concepts - relying solely on the logical expressions and recursive algorithms.
Developers who are well versed in class-based languages such as Java and C++ may find JavaScript’s prototypical and in my heart true object-oriented nature confusing.
With the addition of the class keyword in ES6 it has become extremely easy to crossover these class-based principles into JavaScript.
However, it should be noted that this is nothing more than syntactic sugar over an extremely expressive and flexible language construct.