Function-type factories, strategy factories, registration factories, functional options, and null object factories — how a Go CLI uses factory patterns. Go doesn't have abstract classes. It doesn't have constructor overloading. But Go has factories. They just look different — function types instead of classes, closures instead of inheritance, switch statements instead of visitor patterns. Here are five factory patterns from a Go security CLI, each solving a real architectural problem without the ceremony. 1. Function-Type Factories — Deferred Construction The Problem The CLI layer knows how to create a YAML control loader (it has the filesystem paths and config). The app layer needs a control loader but must not import CLI packages (hexagonal architecture). How do you pass "the ability to create a loader" without passing the loader itself?…