知识卡片

结构建模范式在领域建模中的局限

普通读书笔记卡 · 1979.g

内容

结构建模范式并非一无是处,其模块划分与层次分解的设计原则仍值得借鉴(对象范式的许多原则正来自它的贡献)。但用于建立领域模型时,“数据结构与算法分离”会削弱领域对象的封装能力:扁平的持久化对象形成贫血模型、缺乏业务表达力,服务对象用事务脚本表达业务、易使相同业务代码分散在各服务方法乃至各服务类。规模扩大后封装不足会拖累代码质量,代码缺乏边界控制易陷入混乱、无序、重复,增加系统复杂度(意大利面条式代码)。发散:范式选择要看业务逻辑丰富度——逻辑简单选结构范式,逻辑复杂优先对象/函数范式。

参考来源

- 位置:《解构领域驱动设计》附录A A.1.3(源文件:_epub-src/OEBPS/034.xhtml) - 结论依据:原文总结结构建模范式的可借鉴之处与其在领域建模中封装能力不足的局限。 - 原始内容:扁平的持久化对象形成的贫血模型缺乏业务的表达能力,服务对象又采用事务脚本来表达业务逻辑,容易使相同的业务代码分散在各个服务方法乃至各个服务类。