备忘录模式

Posted by 程序亦非猿 on 2016-08-03

设计模式专题系列: 设计模式

备忘录模式

当你需要让对象返回之前的状态时(例如,你的用户请求“撤销”),就使用备忘录模式。

备忘录的目标:

  • 储存系统关键对象的重要状态。
  • 维护关键对象的封装。

咦,那Activity、Fragment、View的 onSaveInstanceState 不就是备忘录模式吗?

用途:

  1. 备忘录用于存储状态。

优点:

  1. 将被储存的状态放在外面,不要和关键对象混在一起,这可以帮助维护内聚。
  2. 保持关键对象的数据封装。
  3. 提供了容易实现的恢复能力。

缺点:

  1. 储存和回复状态的过程可能相当耗时。
  2. 在Java系统中,其实可以考虑使用序列化机制储存系统的状态。