23种设计模式-关系模式-备忘录模式(十九)
Posted 两个菜鸟程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式-关系模式-备忘录模式(十九)相关的知识,希望对你有一定的参考价值。
引自:动力节点--23种设计模式
备忘录模式(Memento)
public class Original {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Original(String value) {
this.value = value;
}
public Memento createMemento() {
return new Memento(value);
}
public void restoreMemento(Memento memento) {
this.value = memento.getValue();
}
}
public class Memento {
private String value;
public Memento(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
public class Storage {
private Memento memento;
public Storage(Memento memento) {
this.memento = memento;
}
public Memento getMemento() {
return memento;
}
public void setMemento(Memento memento) {
this.memento = memento;
}
}
public class Test {
public static void main(String[] args) {
// 创建原始类
Original origi = new Original("egg");
// 创建备忘录
Storage storage = new Storage(origi.createMemento());
// 修改原始类的状态
System.out.println("初始化状态为:" + origi.getValue());
origi.setValue("niu");
System.out.println("修改后的状态为:" + origi.getValue());
// 回复原始类的状态
origi.restoreMemento(storage.getMemento());
System.out.println("恢复后的状态为:" + origi.getValue());
}
}
输出:
初始化状态为:egg
修改后的状态为:niu
恢复后的状态为:egg
更多的内容请访问:https://blog.breakpoint.vip/
喜欢就在看吧!!!
以上是关于23种设计模式-关系模式-备忘录模式(十九)的主要内容,如果未能解决你的问题,请参考以下文章