Designing Systems with Partsbin

By Mark Bastian

Elevator Pitch

Building systems in Clojure requires a different way of thinking. Systems are designed bottom-up with recomposability and synthesis in mind versus a top-down framework-driven approach. Partsbin is a library that provides both a reference implementation and philosophy for building composable systems.

Description

It can be difficult to learn to build systems in Clojure. Developers accustomed to stateful, framework-driven approaches may find it challenging to understand how to achieve results in a functional, framework-free world. However, once you learn to build bottom-up, functional, data-driven systems you will never be able to go back. This talk takes you through the practical considerations of building these systems using Partsbin, my library for practically composing systems with Integrant. As valuable as the library itself is the philosophy and approach it uses and and which I will describe.

Topics I will discuss are:

  1. Writing code bottom-up, with no assumptions regarding surrounding scope or context. This results in implicitly decoupled code.
  2. Organizing code into business logic, api, system, and application units.
  3. Specific patterns for how to write code, leverage middlewares, and use other patterns to synthesize components into an application.

Live demonstrations will be included to demonstrate how quickly and easily a system can be synthesized.

Notes

Technical Requirements

  • Internet connection
  • HDMI out projector

Qualifications