Replace strategy objects with higher-order functions, maps of behavior, and data-driven dispatch.
In Java, Strategy often means “an interface + multiple implementations.” In Clojure, the same idea is usually just passing a function (or a small map of functions) to the code that needs it.
This section shows a few idiomatic shapes: higher-order functions, keyword-to-function dispatch tables, and (when you truly need open extension) protocols or multimethods.
The practical payoff is less scaffolding and more direct code: you can swap behavior without building a class hierarchy.