All Patterns
46 production-proven patterns organized by category. Each one has interactive visualization, multi-language implementations, exercises, and precise source links.
Data Structures
| Pattern | One-Liner | Sources |
|---|---|---|
| Bitmask | Pack N flags into one integer, O(1) test any combo | React, Linux |
| Min Heap | O(1) peek at highest priority, O(log n) push/pop | React, Linux CFS |
| Ring Buffer | Fixed-size FIFO, wraps around, zero allocation | LMAX, Linux |
| Trie | O(k) prefix lookup, shared prefixes share nodes | Linux FIB, Redis |
| Skip List | Probabilistic O(log n) sorted structure | Redis, LevelDB |
| Bloom Filter | Probabilistic set membership, zero false negatives | LevelDB, Chromium |
| LRU Cache | Evict least recently used, O(1) get/put | groupcache, Linux |
| B+ Tree | High-branching tree, leaf-linked for range scans | PostgreSQL, SQLite |
| Tagged Union | Type tag + union for safe multi-type dispatch | Godot, PyTorch |
| Merkle Tree | Hash upward for O(log n) integrity proof | Git, ZFS |
| Merge Iterator | K-way merge via min-heap | LevelDB, RocksDB |
Concurrency
| Pattern | One-Liner | Sources |
|---|---|---|
| Semaphore | Counter limits concurrent access | Linux, Go |
| Actor Model | Private state + mailbox, no shared memory | Akka, Erlang |
| Work Stealing | Idle threads steal from busy queues | Go, Tokio |
| MVCC | Versioned rows let readers never block writers | PostgreSQL, etcd |
| Cooperative Scheduling | Yield between work chunks to stay responsive | React, Go |
| Double Buffering | Swap two copies for atomic update | React Fiber, GPU |
| Backpressure | Slow producer when consumer can't keep up | Node.js, Reactive |
| Event Loop | Single-threaded I/O multiplexing | libuv, Redis |
| Logical Clock | Order events without wall-clock time | etcd, LevelDB |
System
| Pattern | One-Liner | Sources |
|---|---|---|
| Circuit Breaker | Stop calling failing services, fail fast | Hystrix, gobreaker |
| Rate Limiter | Token bucket controls throughput | Go, Nginx |
| Retry with Backoff | Exponential delay + jitter on failure | K8s, gRPC |
| Write-Ahead Log | Log changes before applying, crash-safe | etcd, PostgreSQL |
| Batch Processing | Accumulate ops, execute as group | Kafka, React |
| Consistent Hashing | Add/remove nodes remaps ~1/n keys | groupcache, HAProxy |
| Dependency Graph | DAG + topological sort | Cargo, pnpm |
| Middleware Chain | Composable pre/post handlers | gRPC, Koa |
| Registry | Self-register by name, discover at runtime | TensorFlow, gRPC |
| Dirty Flag | Recompute only when marked changed | Chromium, React |
| LSM Tree | Buffer writes in memory, flush sorted to disk | LevelDB, RocksDB |
| Checkpointing | Periodic snapshot, recover from checkpoint | PostgreSQL, Redis |
Memory
| Pattern | One-Liner | Sources |
|---|---|---|
| Object Pool | Pre-allocate and reuse to skip GC | Go sync.Pool, Godot |
| Flyweight | Share identical immutable objects | Python int cache, V8 |
| Arena Allocator | Bump-allocate in region, free all at once | bumpalo, Go |
| Free List | O(1) alloc/free via linked freed slots | Go runtime, Linux |
| Copy-on-Write | Share by reference, copy on mutation | Git, Rust Cow |
| Reference Counting | Auto-cleanup at zero owners | CPython, Rust Arc |
| Tombstone | Mark deleted, reclaim later | LevelDB, Cassandra |
| Interning | Deduplicate immutable values, pointer equality | Rust compiler, CPython |
Behavioral
| Pattern | One-Liner | Sources |
|---|---|---|
| State Machine | Explicit states, impossible transitions unrepresentable | XState, Linux TCP |
| Observer | Subscribe to events, decouple producer/consumer | EventEmitter, Redux |
| Iterator | Lazy sequences, zero intermediate allocations | Rust, Python |
| Diff / Patch | Compute minimal changes between two states | React, Git |
| Vtable | Function pointer struct for polymorphism | Linux kernel, CPython |
| Visitor | Dispatch type-specific callbacks on tree nodes | LLVM, Vue |