java设计模式之备忘录模式详解架构师

java设计模式之备忘录模式详解架构师


一.定义

备忘录模式是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到原先保存的状态。


二.程序代码详解


1.Memento模式相对也比较好理解,我们看下列代码:

public class Originator {

  private int number;

  private File file = null;

  public Originator(){}

  // 创建一个Memento

  public Memento getMemento(){

    return new Memento(this);

  }

  // 恢复到原始值

  public void setMemento(Memento m){

     number = m.number;

     file = m.file;

  }

}


2.我们再看看Memento类:

private class Memento implements java.io.Serializable{

  private int number;

  private File file = null;

  public Memento( Originator o){

    number = o.number;

    file = o.file;

  }

}


三.总结

可见 Memento中保存了Originator中的number和file的值。通过调用Originator中number和file值改变的话,通过调用setMemento()方法可以恢复。

Memento模式的缺点是耗费大,如果内部状态很多,再保存一份,无意要浪费大量内存。

java设计模式之备忘录模式详解架构师

转载请注明来源网站:blog.ytso.com谢谢!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/6991.html

(0)
上一篇 2021年7月17日
下一篇 2021年7月17日

相关推荐

发表回复

登录后才能评论