GitHub - Totoro-jam/battle-tested-patterns: 来自生产代码库的经过实战检验的编程模式——React、Linux、Go、Chromium等。精确的源代码链接、多语言示例、可运行练习。
GitHub - Totoro-jam/battle-tested-patterns: 来自生产代码库的经过实战检验的编程模式——React、Linux、Go、Chromium等。精确的源代码链接、多语言示例、可运行练习。
从生产代码库中提取的代码级编程模式。
交互式可视化支持时间回溯播放 · 精确源代码链接 · 多语言 · 可运行练习
| 已有的内容 | 缺失的内容 |
|---|---|
| 设计模式书籍 | 过于抽象,过于面向对象(OOP)中心 |
| 算法仓库 | 与实际工程脱节 |
| 系统设计指南 | 架构层面,非代码层面 |
| 本项目:来自React、Linux、Go、Chromium的代码级技巧——每个都附带可验证的源代码链接。 |
| 模式 | 作用 | 验证于 |
|---|---|---|
| React 标志· Linux stat.h | 双缓冲 | React Fiber· SDL |
| 协作调度 | React 调度器· Go 运行时 | 最小堆 |
| React 最小堆· Linux CFS | 差异/补丁 | React Reconciler· Git |
| 对象池 | Go sync.Pool· Godot | 环形缓冲区 |
| LMAX Disruptor· Linux | 状态机 | XState· Linux TCP |
| 写时复制 | Git 对象· Rust Cow | 观察者 |
| Node 事件发射器· Redux | 迭代器 | Rust 迭代器· Python 生成器 |
| 信号量 | Linux· Go x/sync | 批处理 |
| Kafka | 退避重试 | Kubernetes· gRPC |
| 事件循环 | libuv· Redis ae | 享元 |
| Python int 缓存 | 布隆过滤器 | LevelDB· Chromium |
| 断路器 | Hystrix· gobreaker | 区域分配器 |
| bumpalo· [Go arena](https |