23种设计模式之备忘录模式
2018-01-27 11:11
267 查看
场景:
Word文档编辑时,忽然电脑死机,再打开时。可以看到Word提示你恢复到以前的文档
管理系统中,公交撤回功能。公文发送出去后,想撤回来
核心:
就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到原先的状态。
结构:
源发器类Originator
备忘录类Memento
负责人类CareTake
源发器类
备忘录类
负责人类
Word文档编辑时,忽然电脑死机,再打开时。可以看到Word提示你恢复到以前的文档
管理系统中,公交撤回功能。公文发送出去后,想撤回来
核心:
就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到原先的状态。
结构:
源发器类Originator
备忘录类Memento
负责人类CareTake
源发器类
public class Emp { private String ename; private int age; private double salary; public Emp(String ename, int age, double salary) { this.ename = ename; this.age = age; this.salary = salary; } //保存数据 public EmpMemento memento() { return new EmpMemento(this); } //恢复数据 public void recovery(EmpMemento memento) { this.ename = memento.getEname(); this.age = memento.getAge(); this.salary = memento.getSalary(); } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getSalary() { return salary; } public void setSala 4000 ry(double salary) { this.salary = salary; } }
备忘录类
/** * 备忘录类 */ public class EmpMemento { private String ename; private int age; private double salary; public EmpMemento(Emp emp) { this.ename = emp.getEname(); this.age = emp.getAge(); this.salary = emp.getSalary(); } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } }
负责人类
public class CareTaker { public EmpMemento memento; public EmpMemento getMemento() { return memento; } public void setMemento(EmpMemento memento) { this.memento = memento; } }
相关文章推荐
- 23种设计模式(15):备忘录模式
- 23种设计模式(17):备忘录模式
- 23种设计模式(15):备忘录模式
- 23种设计模式(15):备忘录模式
- JAVA开发的23种设计模式之 --- 备忘录模式
- 23种设计模式之备忘录模式
- 23种设计模式4--行为型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
- 23种设计模式4--行为型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
- 23种设计模式之---备忘录模式
- 23种设计模式(15):备忘录模式
- 23种设计模式(18)-备忘录模式
- 23种设计模式(15):备忘录模式
- 23种设计模式之备忘录模式
- c++ 23种设计模式之备忘录模式
- GoF23种设计模式之行为型模式之备忘录模式
- 23种设计模式之备忘录模式
- GoF23种设计模式之行为型模式之备忘录模式
- 23种设计模式(15):备忘录模式
- GoF23种设计模式之行为型模式之备忘录模式
- 23种设计模式(15):备忘录模式