design_model(19)memento

Posted gg128

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了design_model(19)memento相关的知识,希望对你有一定的参考价值。

1.备忘录模式

用于备份与还原,也叫快照模式

2.实例

public class Emp {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public EmpCopy memento() {
        return new EmpCopy(this);
    }

    public void recovery(EmpCopy empc) {
        this.age = empc.getAge();
    }

}

public class EmpCopy {
    private int age;

    public EmpCopy(Emp emp) {
        super();
        this.age = emp.getAge();
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

public class Client {
    public static void main(String[] args) {
        Emp emp = new Emp();
        emp.setAge(20);
        EmpCopy memento = emp.memento();
        System.out.println(emp.getAge());
        emp.setAge(30);
        System.out.println(emp.getAge());
        emp.recovery(memento);
        System.out.println(emp.getAge());
    }
}

 

以上是关于design_model(19)memento的主要内容,如果未能解决你的问题,请参考以下文章

design_model(12)chain

design_model(11)flyweight

design_model(16)template

design_model(18)observe

design_model(24)分类与备注

Memento模式(备忘录设计模式)