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 许可证发布。