1 Memento Pattern 备忘录模式
目的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态;
实现:客户不与备忘录类耦合,与备忘录管理类耦合,通过一个备忘录类专门存储对象状态。
1.并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态;
2.很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有”后悔药”可吃。
2 实现
代码场景:西汉王朝继秦朝之后的大一统王朝,每年都在发生着大事,太史令司马迁负责将这些事件记录到史书中以供后世查看。
1.原发器角色是西汉王朝;
2.备忘录角色是历史事件;
3.负责人角色是司马迁。
因案例是真实历史事件,故不提供时光倒流的实现。
在使用该模式时可根据需要提供”后悔药”方法。
2.1 代码实现
原发器角色:西汉王朝
public class Han {
//事件
private String thing;
public String getThing() {
return thing;
}
public void