1. Functional Options Patternhistorical

    Configuring constructors through composable option functions, especially in Go APIs.

  2. Function Types as Interfaceshistorical

    Using function values to satisfy small behavioral contracts and inject behavior without heavyweight objects.

  3. Event Sourcinghistorical

    Persisting domain changes as an append-only event history and rebuilding state through replay/projections.

  4. Publish–Subscribe Patternhistorical

    Decoupling event publishers and subscribers while handling delivery, ordering, replay, and failure semantics.

  5. Producer–Consumer Patternhistorical

    Decoupling work generation from processing with queues, bounded capacity, backpressure, and worker concurrency.