今天看啥  ›  专栏  ›  御史神风

设计模式3-6:备忘录模式

御史神风  · 简书  ·  · 2018-09-14 20:47

What

备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

Why

所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。

  • 给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。
  • 实现了信息的封装,使得用户不需要关心状态的保存细节。

实现如撤回的功能。还有实现游戏的存档功能也可以使用这种方法

How

通过一个备忘录类专门存储对象状态。
客户不与备忘录类耦合,与备忘录管理类耦合。
为了符合迪米特原则,还要增加一个管理备忘录的类。而为了节约内存,可使用原型模式+备忘录模式。

通过备忘录类来为对象保存或加载数据。




原文地址:访问原文地址
快照地址: 访问文章快照