知识卡片

"神元素"反模式与职责失衡的量化信号

专业/工作

内容

架构层面同样会出现面向对象设计里的”神对象”问题:一个体量巨大的核心元素几乎和系统里所有其他元素都有交互,周围散落着一堆只是数据结构般的小元素。这种结构会让系统难以维护——不是因为某个模块复杂,而是因为这一个元素的特性直接决定了整个系统的性能、可靠性、可伸缩性表现,想改善这些质量属性绕不开动它。有个粗量化的预警信号:如果系统里超过一半的职责集中在不到四分之一的元素里,基本可以断定存在职责分配失衡,需要把这个元素拆开重新分区,而不是继续往它身上加功能。

参考来源

《软件系统架构:使用视点和视角与利益相关者合作》第17章《功能视点》