Functional Architecture Patterns


  1. FE Masters Workshop
  2. Domain-Driven Design


You can't teach it in a meaningful way with meaningful architectures... as there is a tension between realistics examples that show the benefits vs something easy to understand.

Architecture is subjective, but tries to encompass or trade off to be:

  1. Modular
  2. Extendable
  3. Performant
  4. Maintainable
  5. Readable

The history of procedures

In the beginning, there we procedures that we began to group and work on. There is a reference to Domain-Driven Design, which is reference as the path we start going down.

Having procedures groups that don't scale well make people wonder why we do abstracting the first place.

Properties of FP

// associative add(add(1, 1), 4) === add(1, add(1, 4)); // communitive add(1, 4) === add(4, 1); // identity add(n, 0) === n; // distributive multiply(2, add(3, 4)) === add(multiply(2, 3), multiply(2, 4));

const joinWithSpace = joinable => joinable.join(' ');