知识卡片
"创建后不可变 + 复制而非引用",两条简单规则解决了隐式链接的噩梦
内容
照片设计模板会不断更新,客户又可能把一个设计嵌套进另一个设计里,团队最初设想的各种引用计数、隐式链接方案,都会导致”改了源头、下游产品跟着莫名其妙变化”的意外后果,违反最小惊讶原则。最终采用的解法只有两条规则:设计和构图一旦创建就不可再修改;引用一个设计时复制它,而不是保留指针。这样一来,每份订单都是完全自包含的一份深拷贝,源设计以后无论怎么更新,都不会影响已经生成的订单——用最简单的不可变性,一次性消灭了整整一类因为”共享可变状态”而产生的意外耦合,比设计复杂的引用管理系统更彻底,也更容易被人理解和信任。
参考来源
《架构之美》第4章《记忆留存》