知识卡片

函数范式的贫血模型不同于结构范式的贫血模型

普通读书笔记卡 · 1979.ac

内容

函数建模范式颠覆了“贫血模型是坏的”这一观点,但它的贫血模型不同于结构范式的贫血模型:结构范式把数据与行为分离、每个行为组成一个完整过程,因缺乏封装无法控制数据/行为修改对调用者的影响;函数范式虽也建立贫血模型(数据是 ADT、行为是纯函数),但其模块化、抽象化、可组合特征降低了变化带来的影响,并通过引入高内聚松耦合的模块对组合子分组、避免细粒度组合子散乱、形成清晰层次。Debasish Ghosh 的原则:用函数组合把小函数组装成大函数获得组合性;纯粹,模型多由引用透明表达式组成;可用方程式推导验证领域行为。发散:别把“有没有行为方法”当作模型好坏标准;关键是变化是否被有效隔离——OO 靠封装、FP 靠纯粹性与组合性。

参考来源

- 位置:《解构领域驱动设计》附录A A.3.3(源文件:_epub-src/OEBPS/034.xhtml) - 结论依据:原文区分两种贫血模型的本质差异并引用 Ghosh 的函数建模基本原则。 - 原始内容:函数建模范式虽然同样建立了贫血模型,但它的模块化、抽象化和可组合特征降低了变化带来的影响。