架构设计

如何做好职责分离

  • 从“怎么实现”到“怎么组合”
    • 一体式思维:写一个函数完成所有功能
    • 分离式思维:要设计几个组件,然后组合它们实现功能
  • 从“功能优先”到“测试优先”
    • 一体式思维:先实现功能,再考虑测试
    • 分离式思维:先考虑怎么测试,倒推出职责分离
  • ripgrep的分离式架构
    • cli参数 → LowArgsHiArgs
    • 搜索目标:分为文件发现和目标搜索
    • 文件遍历再次分离:WalkDir(负责目录树形结构转为线性的Iter)→ WalkEventDir(负责发送事件)→ Walk(添加忽略规则)

使用 Hugo 构建
主题 StackJimmy 设计