知识卡片
不可修改加复制而非引用两条规则消除隐式联动的意外
内容
设计模板被嵌套使用又可能被更新删除时,若靠对象引用关联,会出现新版本发布后旧订单意外跟着变、或设计被删后引用悬空的连锁反应。团队定下两条规则:设计和构图一旦创建不能再修改;选用设计时是复制完整副本而非保留引用。每份订单的设计自包含互不影响,复杂引用管理问题被这两条规则整体消解。
参考来源
- 位置:《架构之美》第4章《记忆留存》4.3.6节《不可修改的数据和处处使用的GUID》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0133.xhtml)
- 结论依据:原文明确"这个解决方案包括两条规则:1.在创建之后就不要改变。设计和构图是不可修改的。2.复制原来的设计,不要引用……从组合发生之时开始,原来的构图和新的构图就是完全相互独立的",并对比旧系统靠ID引用导致"错误的设计就会打印出来"的问题。
- 原始内容:这个解决方案包括两条规则:1.在创建之后就不要改变。设计和构图是不可修改的。2.复制原来的设计,不要引用……新版本的设计不会影响到已有的订单,因为每份订单都是自包含的。