软件复杂度的祸根藏在数据模型里,数据即边界
为什么系统一崩溃,问题总回到一行不起眼的 if/else?凌晨三点的告警背后,往往是一个「万能字段」引发的血案。本书的回答是——复杂度的边界不在服务分层,而在数据:拒绝万能字段、消灭特例,用对账与防腐化机制守住边界。
数据边界分层
核心概念
万能字段
被塞进多重含义的数据库字段,如含义过载的 status。
它是线上事故与巨蟒式 if/else 的祸根,识别它是重构第一步。
概念压缩
用精确的数据概念压缩业务规则,让代码表达业务本身。
好的数据模型让特例消失,坏模型让分支无限繁殖。
状态与意图
区分数据的当前状态与产生它的历史业务意图。
混淆二者会让系统既丢历史又误判现状。
信任边界
明确哪些数据可以被信任、哪些必须校验与对账。
跨系统数据天然不可信,边界不清就是资损的开始。
对账机制
定期核对系统间数据一致性的防腐化基础设施。
它把不可见的数据腐化变成可发现的差异,是长期守护。
全书地图
第一部分:架构哲学——复用的代价
第二部分:微观解压——字段与维度的重构
第三部分:中观解压——表结构与时空分离
第四部分:宏观解压——系统边界与对账
第五部分:行动指南——遗留系统的治理
读完这本书,你会明白
- 事故的祸根常在数据模型,不在服务分层
- 万能字段是复杂度的头号来源
- 分清当前状态与历史意图
- 跨系统数据不可信,用对账守边界
- 用防腐化机制让重构成果不被腐蚀