/**
* 备忘录模式
* @author TMAC-J
* 用于存储bean的状态
*/
public class MementoPattern {
public class Memento{
private int lifeValue;
private int grade;
public int getLifeValue() {
return lifeValue;
}
public void setLifeValue(int lifeValue) {
this.lifeValue = lifeValue;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
public class Originator{
public Originator(int lifeValue,int grade) {
this.grade = grade;
this.lifeValue = lifeValue;
}
private int lifeValue;
private int grade;
public int getLifeValue() {
return lifeValue;
}
public void setLifeValue(int lifeValue) {
this.lifeValue = lifeValue;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public Memento createMemento(){
Memento memento = new Memento();
memento.setGrade(this.grade);
memento.setLifeValue(this.lifeValue);
return memento;
}
public void setMemento(Memento memento){
this.lifeValue = memento.getLifeValue();
this.grade = memento.getGrade();
}
}
public class MementoManage{
private Memento memento;
public Memento getMemento() {
return memento;
}
public void setMemento(Memento memento) {
this.memento = memento;
}
}
public void test(){
Originator originator = new Originator(10,10);
Memento memento = originator.createMemento();
originator.setMemento(memento);
}
}