備忘錄模式git
public class Memento { private String state; public Memento(String state){ this.state = state; } public String getState() { return state; } }
public class Originator { private String state; public void setState(String state) { System.out.println("state changed : " + state); this.state = state; } public Memento save(){ return new Memento(state); } }
public class CareTaker { private Memento memento; public void save(Memento memento){ System.out.println("Memento save ..." + memento.getState()); this.memento = memento; } public Memento read(){ System.out.println("Memento read ..." + memento.getState()); return memento; } }
public static void main(String[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.setState("1"); careTaker.save(originator.save()); originator.setState("2"); careTaker.read(); }
state changed : 1 Memento save ...1 state changed : 2 Memento read ...1
https://github.com/Seasons20/DisignPattern.git