备忘录模式

简介

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

使用场景:

  • 撤销/重做功能

  • 事务回滚

  • 游戏存档

  • 浏览器历史记录

实现要点:

  • 备忘录不可变(final)

  • 窄接口和宽接口

  • 保持封装性

UML

spinner

代码示例

  1. 一个文本编辑器

  1. 文本编辑器的备忘录

  1. 历史管理器

  1. 使用方式

Last updated