知识卡片
选错模式后,补救路径的不对称性
内容
一旦为领域逻辑选定了组织模式,中途更换的代价不小,因此值得在一开始多花时间想清楚。但如果开发过程中发现选错了,补救的难易程度并不对称:如果最初选的是事务脚本,后来发现领域逻辑比预想的复杂,应当毫不犹豫地立即改用领域模型——这个方向的迁移是值得的,因为继续硬撑事务脚本只会让重复代码和杂乱结构越滚越大;但如果最初选的是领域模型,中途想退回事务脚本,通常并不值得这么做,除非这样做能顺带简化数据源层的复杂性——领域模型已经付出的”理解代价”和数据源层映射投入不会因为回退而收回,反而白白损失了领域模型在应对复杂逻辑上的优势。可迁移启发:技术选型的”试错纠正”往往不是双向对称的,从简单方案升级到复杂方案的路径通常畅通(复杂方案能兜住简单方案能处理的一切),但从复杂方案降级回简单方案往往要额外付出”拆解已投入复杂度”的代价——评估要不要冒险先上简单方案时,除了看正向演进的容易程度,也要想清楚这条回头路好不好走。
参考来源
- 位置:《企业应用架构模式》第一部分"表述"之"第2章 组织领域逻辑"之"2.1 抉择"(源文件:_epub-src/OEBPS/Text/000015.html)
- 结论依据:原文说明"如果在开发过程中才发现你的选择是错误的,且你原来的选择是事务脚本,那么不要犹豫,你应立即改用领域模型。而如果你原来的模式是领域模型,中途转而采用事务脚本,这通常不太值得,除非能简化你的数据源层",直接支撑本卡结论。
- 原始内容:如果在开发过程中才发现你的选择是错误的,且你原来的选择是事务脚本,那么不要犹豫,你应立即改用领域模型。而如果你原来的模式是领域模型,中途转而采用事务脚本,这通常不太值得,除非能简化你的数据源层。