备忘录模式

备忘录模式定义

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后需要的时候能够将该对象恢复到原先保存的状态。

备忘录模式详解

使用场景

  • 需要保存和恢复数据的相关场景。
  • 如果用一个接口来让其它对象得到这些状态,将会暴露对象的实现细节并破坏对象的封装性,一个对象如果不像外界直接访问其内部状态,通过中间对象可以间接访问其内部状态。

图解

13 备忘录模式图解.png

备忘录模式优缺点

优点

  1. 当一个类里面的对象有几种状态,如果当前的状态是无效的,那么可以用暂存起来的备忘录将状态复原。
  2. 实现了信息的封装,使得用户不需要关心状态的保存细节。

缺点

  1. 如果要将一个对象的所有的状态记录,那么这个在备忘录上面对象的占用的资源会很昂贵。

备忘录模式总结

设计模式中的备忘录模式能够记录一个对象的内部状态当用户后悔的时候就能够撤销当前的操作,使数据恢复到它原先的状态。