【起源】
程序关注对象的状态,希望保存某些状态点,并随时恢复(相当于数据库备份还原)。
【动机】
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,于是可以随时将对象恢复到这个状态。
【核心】
提供一个Memento类,随时对所关注的对象做“镜像”,方便对象恢复到之前的某个状态。
Memento的职责是保存“镜像”。
被关注对象提供备份和还原方法,与Memento对象衔接。
【代码实例】
【模型图】
【起源】
程序关注对象的状态,希望保存某些状态点,并随时恢复(相当于数据库备份还原)。
【动机】
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,于是可以随时将对象恢复到这个状态。
【核心】
提供一个Memento类,随时对所关注的对象做“镜像”,方便对象恢复到之前的某个状态。
Memento的职责是保存“镜像”。
被关注对象提供备份和还原方法,与Memento对象衔接。
【代码实例】
【模型图】