备忘录模式(memento pattern)又称为快照(snapshot)模式或token模式。
意思是:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个对象。这样,以后就可以将该对象恢复到原先保存的状态。
通俗地说,备忘录模式就是将一个对象进行备份,提供一种程序数据的备份方法,其类图如下。
备忘录模式中有如下3个角色:
originator.java
// 发起人角色 public class originator { // 内部状态 private string state = ""; public string getstate() { return state; } public void setstate(string state) { this.state = state; } // 创建备忘录 public memento creatememento() { return new memento(this.state); } // 恢复一个备忘录 public void restormemento(memento memento) { this.setstate(memento.getstate()); } }
memento.java
// 备忘录角色 public class memento { // 发起人的内部状态 private string state; // 构造函数传递参数 public memento(string state) { this.state = state; } public string getstate() { return state; } public void setstate(string state) { this.state = state; } }
caretaker.java
// 负责人角色 public class caretaker { // 备忘录对象 private memento memento; public memento getmemento() { return memento; } public void setmemento(memento memento) { this.memento = memento; } }
client.java
// 负责人角色 public class caretaker { // 备忘录对象 private memento memento; public memento getmemento() { return memento; } public void setmemento(memento memento) { this.memento = memento; } }
应用场景:
注意事项:
如对本文有疑问, 点击进行留言回复!!
荐 厉害了!阿里P8架构师用4大技术文档带你深入解读爆火的中台战略
FlowableException: Error initialising dmn data model报错问题
网友评论