知识卡片
函数范式的贫血模型不同于结构范式的贫血模型
内容
函数建模范式颠覆了“贫血模型是坏的”这一观点,但它的贫血模型不同于结构范式的贫血模型:结构范式把数据与行为分离、每个行为组成一个完整过程,因缺乏封装无法控制数据/行为修改对调用者的影响;函数范式虽也建立贫血模型(数据是 ADT、行为是纯函数),但其模块化、抽象化、可组合特征降低了变化带来的影响,并通过引入高内聚松耦合的模块对组合子分组、避免细粒度组合子散乱、形成清晰层次。Debasish Ghosh 的原则:用函数组合把小函数组装成大函数获得组合性;纯粹,模型多由引用透明表达式组成;可用方程式推导验证领域行为。发散:别把“有没有行为方法”当作模型好坏标准;关键是变化是否被有效隔离——OO 靠封装、FP 靠纯粹性与组合性。
参考来源
- 位置:《解构领域驱动设计》附录A A.3.3(源文件:_epub-src/OEBPS/034.xhtml)
- 结论依据:原文区分两种贫血模型的本质差异并引用 Ghosh 的函数建模基本原则。
- 原始内容:函数建模范式虽然同样建立了贫血模型,但它的模块化、抽象化和可组合特征降低了变化带来的影响。