备忘录模式(Memento Pattern)
定义:Without violating encapsulation,capture and externalize an object’s
internal state so that the object can be restored to this state
later.(在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。)
备忘录(Memento)模式又称标记(Token)模式。
组成:
- 备忘录(Memento)角色:备忘录角色存储“备忘发起角色”的内部状态。“备忘发起角色”根据需要决定备忘录角色存储“备忘发起角色”的哪些内部状态。为了防止“备忘发起角色”以外的其他对象访问备忘录。备忘录实际上有两个接口,“备忘录管理者角色”只能看到备忘录提供的窄接口——对于备忘录角色中存放的属性是不可见的。“备忘发起角色”则能够看到一个宽接口——能够得到自己放入备忘录角色中属性。
- 备忘发起(Originator)角色:“备忘发起角色”创建一个备忘录,用以记录当前时刻它
的内部状态。在需要时使用备忘录恢复内部状态。 - 备忘录管理者&