Skip to content

Latest commit

 

History

History
37 lines (21 loc) · 922 Bytes

File metadata and controls

37 lines (21 loc) · 922 Bytes

脏标识模式

代码示例

定义

将工作延期至需要其结果时才去执行,避免不必要的工作

场景

  • 原始数据的变化速度远高于导出数据的使用速度。
  • 增量更新十分困难。

案例

渲染

实现方式

  • 一组原始数据随着时间变化而改变。
  • 使用代价昂贵的过程推定一组导出数据
  • 用一个**“脏”标识**追踪导出数据是否与原始数据保持一致。
  • 它在原始数据改变时被设置。 如果导出数据被请求时,该标识被设置了,那么重新计算并清除标识 否则的话,使用之前缓存的导出数据

优缺点

优点

  • 降低不必要的计算量

缺点

  • 增加了系统复杂度

与其他设计模式的关系

独立的设计模式