Lean into data orientation, REPL-driven development, and small namespaces as core design tools.
Some of the most powerful Clojure “patterns” don’t have GoF names because they’re not about class structure. They’re about a different way of organizing systems around data and functions.
This section highlights patterns that feel distinct to Clojure: data as an interface, pure core/imperative shell boundaries, programming to values rather than objects, and using the REPL as part of your design workflow.
For Java engineers, these patterns often feel like unlocking a new style of refactoring: smaller changes with bigger leverage.