备忘录模式Memento Pattern

定义

备忘录模式(Memento Pattern)又称为快照模式(Snapshot Pattern)或令牌模式(Token Pattern),是指在不破坏封装的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
特征:“后悔药”。
属于行为型模式。

适用场景

  1. 需要保存历史快照的场景
  2. 希望在对象之外保存状态,且除了自己,其他类对象无法访问状态保存具体内容。

举例

  1. Spring-webflow StateManageableMessageContext接口 createMessageMemento方法

优点

  1. 简化发起人实体类(Originator)职责,隔离状态存储与获取,实现了信息的封装。客户端无需关心状态的保存细节。
  2. 提供状态回滚功能。

缺点

  1. 消耗资源:如果需要保存的状态过多时,每一次保存都会消耗很多内存。

你可能感兴趣的:(备忘录模式Memento Pattern)