局部对象各自加锁,不保证组合起来仍然安全
这里讨论共享可变状态的协调成本,并未断言所有锁或所有对象设计都有错。
沿同一来源继续阅读
用户今天续费了,还能解释昨天那封催缴邮件吗? →一次判断要能重现,除了规则本身,还需要当时交给它的那份数据。查询模型之外,还要决定是否保留事实的时间 →DynamoDB 讲解要求先枚举访问模式,再按查询组织单表、索引和事务;Hickey 则强调事实包含时间,新事实不应让过去的事实变成错误或消失。连接这两点可以把存储设计从“怎样高效读当前实体”推进到“是否需要表达历史事实”,提示读者将时间与访问模式一并纳入建模。从不可变快照扩展到信息值的设计 →两者都明确把不可变性作为值的属性;The Value of Values 进一步突出语义透明、比较与跨边界共享。适用层次由进程内时间模型延伸到信息表达,而非立场改变。
对照原文
values aggregate to values all the benefits apply to Aggregatesand unfortunately locks don't compose either, right. That's the problem with locks.as soon as you have objects being shared encapsulation just flies out the window