Skip to content

全部模式

46 个生产验证的编程模式,按类别组织。每个都包含交互式可视化、多语言实现、练习和精确源码链接。

数据结构

模式一句话描述来源
位掩码 (Bitmask)将 N 个标志压缩到一个整数,O(1) 检查任意组合React, Linux
最小堆 (Min Heap)O(1) 查看最高优先级,O(log n) 插入/删除React, Linux CFS
环形缓冲区 (Ring Buffer)固定大小循环队列,零分配LMAX, Linux
Trie 前缀树O(k) 前缀查找,共享前缀共享节点Linux FIB, Redis
跳表 (Skip List)概率 O(log n) 有序结构Redis, LevelDB
布隆过滤器 (Bloom Filter)概率集合判存,零漏判LevelDB, Chromium
LRU 缓存淘汰最少使用,O(1) get/putgroupcache, Linux
B+ 树高扇出平衡树,叶链支持范围扫描PostgreSQL, SQLite
标签联合体 (Tagged Union)类型标签 + 联合体安全分发Godot, PyTorch
默克尔树 (Merkle Tree)哈希逐层上推实现 O(log n) 完整性证明Git, ZFS
合并迭代器 (Merge Iterator)最小堆实现 K 路合并LevelDB, RocksDB

并发

模式一句话描述来源
信号量 (Semaphore)计数器限制并发访问Linux, Go
Actor 模型私有状态+信箱,无共享内存Akka, Erlang
工作窃取 (Work Stealing)空闲线程从繁忙队列窃取Go, Tokio
MVCC版本化行让读者永不阻塞写者PostgreSQL, etcd
协作调度在工作块间让出控制权保持响应React, Go
双缓冲 (Double Buffering)交换两份副本实现原子更新React Fiber, GPU
背压 (Backpressure)消费者跟不上时减慢生产者Node.js, Reactive
事件循环 (Event Loop)单线程 I/O 多路复用libuv, Redis
逻辑时钟 (Logical Clock)无需墙钟排序事件etcd, LevelDB

系统

模式一句话描述来源
熔断器 (Circuit Breaker)停止调用故障服务,快速失败Hystrix, gobreaker
限流器 (Rate Limiter)令牌桶控制吞吐量Go, Nginx
指数退避重试 (Retry)失败时指数延迟 + 抖动K8s, gRPC
预写日志 (WAL)应用前先记录变更,崩溃安全etcd, PostgreSQL
批处理 (Batch Processing)累积操作批量执行Kafka, React
一致性哈希增删节点只重映射 ~1/n 的键groupcache, HAProxy
依赖图 (Dependency Graph)DAG + 拓扑排序Cargo, pnpm
中间件链 (Middleware Chain)可组合的前/后处理器gRPC, Koa
注册表 (Registry)按名注册,运行时发现TensorFlow, gRPC
脏标记 (Dirty Flag)变更时标脏,按需重算Chromium, React
LSM 树写入缓冲在内存,刷入磁盘有序文件LevelDB, RocksDB
检查点 (Checkpointing)周期快照,从检查点恢复PostgreSQL, Redis

内存

模式一句话描述来源
对象池 (Object Pool)预分配复用避免 GCGo sync.Pool, Godot
享元 (Flyweight)跨使用方共享不可变对象Python 整数缓存, V8
Arena 分配器区域内推进指针分配,一次性释放bumpalo, Go
空闲链表 (Free List)链表已释放槽位 O(1) 分配/释放Go runtime, Linux
写时复制 (Copy-on-Write)引用共享,修改时才复制Git, Rust Cow
引用计数 (Reference Counting)零引用自动清理CPython, Rust Arc
墓碑 (Tombstone)标记删除,后台回收LevelDB, Cassandra
驻留 (Interning)去重不可变值,指针等值判断Rust 编译器, CPython

行为型

模式一句话描述来源
状态机 (State Machine)显式状态,不可能转换不可表达XState, Linux TCP
观察者 (Observer)订阅事件,解耦生产消费EventEmitter, Redux
迭代器 (Iterator)惰性序列,零中间分配Rust, Python
差异/补丁 (Diff/Patch)计算两个状态间最小变更React, Git
虚函数表 (Vtable)函数指针结构体实现多态Linux 内核, CPython
访问者 (Visitor)对树节点分发类型特定回调LLVM, Vue

基于 MIT 许可证发布。