| 收益 | 消除同步点与不一致窗口 |
|---|---|
| 例外 | 昂贵计算可缓存,但需明确失效策略 |
| 场景 | 合计、计数、状态派生值 |
Java 示例
Java 示例
// 之前:discountedTotal 字段需要每处更新
// 之后
double discountedTotal() {
return baseTotal - discount;
}删除可由其他数据推导的存储字段:改为计算查询后不存在同步问题;性能敏感且计算昂贵时,用显式缓存并管理失效,而不是隐式冗余。
| 收益 | 消除同步点与不一致窗口 |
|---|---|
| 例外 | 昂贵计算可缓存,但需明确失效策略 |
| 场景 | 合计、计数、状态派生值 |
// 之前:discountedTotal 字段需要每处更新
// 之后
double discountedTotal() {
return baseTotal - discount;
}