备忘录模式-java
package u20; public class Caretaker { private Memento memento; public Memento getMemento() { return memento; } public void setMemento(Memento memento) { this.memento=memento; } }
package u20; public class Client { public static void main(String[] args) { Originator originator=new Originator(); Caretaker caretaker=new Caretaker(); originator.setUname("贾亚赛"); originator.setPassword("789987"); originator.setSex("女"); caretaker.setMemento(originator.createMemento()); System.out.println("用户信息:"); System.out.println(originator); originator.setUname("张三"); originator.setPassword("159752"); originator.setSex("男"); System.out.println("\n------------------------------------------------\n"); System.out.println("修改后的用户信息”"); System.out.println(originator); System.out.println("\n------------------------------------------------\n"); System.out.println("回复操作之前的状态:"); originator.restoreMemento(caretaker.getMemento()); System.out.println(originator); } }
package u20; public class Memento { private String uname; private String password; private String sex; public Memento(String uname, String password, String sex) { this.uname = uname; this.password = password; this.sex = sex; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
package u20; public class Originator { private String uname; private String password; private String sex; public Memento createMemento(){ return new Memento(uname,password,sex); } public void restoreMemento(Memento m){ this.uname=m.getUname(); this.password=m.getPassword(); this.sex=m.getSex(); } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Originator{" + "uname='" + uname + '\'' + ", password='" + password + '\'' + ", sex='" + sex + '\'' + '}'; } }