知识卡片
模式选型没有量化阈值,只能靠经验判断
内容
三种领域逻辑组织模式该怎么选,很大程度上取决于领域逻辑的复杂度:逻辑简单时用领域模型不划算,因为吃透这个模式和承受数据源层复杂性的代价,此时都换不回等值的回报;逻辑复杂度上升后,除领域模型外的其他方法会随复杂度增长而让”新增功能的难度”指数级抬升,变得越来越不划算。作者用”当领域逻辑复杂度大于7.42时就该用领域模型”这个故意荒诞的数字自嘲式地点破一个真相:没有人真正知道该怎么量化测量领域逻辑复杂度,所谓的决策曲线只是一张帮助建立直觉的示意图,不是可以套用的公式。因此实际能做的,只是去请教有经验、能对需求做早期分析的开发者,让他们凭经验做出判断——团队对领域模型越熟悉,这条决策曲线就越会向”更倾向使用领域模型”偏移,但不会降到与其他模式一样的起点(因为数据源层的复杂性始终存在)。可迁移启发:遇到”这个技术选型该在多大规模/复杂度下切换”这类问题,与其苦苦寻找一个不存在的量化阈值,不如承认这本质是经验判断,尽早找有相关判断经验的人介入,比等自己造出一套伪量化公式更可靠。
参考来源
- 位置:《企业应用架构模式》第一部分"表述"之"第2章 组织领域逻辑"之"2.1 抉择"(源文件:_epub-src/OEBPS/Text/000015.html)
- 结论依据:原文说明"当领域逻辑很简单时,领域模型并不合适……然而,当领域逻辑的复杂度增加时,除领域模型以外的其他方法就都不再适用,因为它们增加新功能的困难程度会随系统复杂度的增加而呈指数增长",随后自嘲"好消息是只要你的领域逻辑复杂度大于7.42,你就应当使用领域模型。坏消息是没有人知道如何测定领域逻辑的复杂度",直接支撑本卡结论。
- 原始内容:好消息是只要你的领域逻辑复杂度大于7.42,你就应当使用领域模型。坏消息是没有人知道如何测定领域逻辑的复杂度。因此,事实上你所能做的只是向那些有经验的开发者请教,他们能对需求进行早期分析并做出正确的判断。