知识卡片

把副作用往外推:不变内核+可变外围

普通读书笔记卡 · 1979.z

内容

保持函数引用透明、不产生任何副作用,是函数式编程的基本原则。类比:面向对象设计把依赖尽量往外推、最终用依赖注入降耦合;函数式编程则用纯函数隔离变化与不变——内部由无副作用的纯函数组成,纯函数把副作用向外推,形成“不变的业务内核 + 可变的副作用外围”结构。纯函数更贴近数学函数:没有计算只有转换,不修改输入、给定相同输入总给相同输出。发散:无论 OO 还是 FP,好设计的共同形状都是“稳定内核在中心、易变/有副作用的东西被推到边缘”。

参考来源

- 位置:《解构领域驱动设计》附录A A.3.2(源文件:_epub-src/OEBPS/034.xhtml) - 结论依据:原文类比 OO 的依赖外推,说明 FP 用纯函数把副作用外推形成不变内核+可变外围。 - 原始内容:纯函数将副作用向外推,形成由不变的业务内核与可变的副作用外围组成的结构。