4.Programming Patterns
Software Architecture & Engineering · 5 notes
- Functional Options Patternhistorical
Configuring constructors through composable option functions, especially in Go APIs.
- Function Types as Interfaceshistorical
Using function values to satisfy small behavioral contracts and inject behavior without heavyweight objects.
- Event Sourcinghistorical
Persisting domain changes as an append-only event history and rebuilding state through replay/projections.
- Publish–Subscribe Patternhistorical
Decoupling event publishers and subscribers while handling delivery, ordering, replay, and failure semantics.
- Producer–Consumer Patternhistorical
Decoupling work generation from processing with queues, bounded capacity, backpressure, and worker concurrency.