• 设计模式之 备忘录模式


    备忘录模式 将当前对象的内部状态保存到备忘录中,以便在需要时能将改对象的状态恢复到原先保存的状态。

    image

    (1)定义备忘录

    public class Memento{
        private String value;
        public Memento(String value){
            this.value = value;
        }
    
        public String getValue() {
            return value;
        }
    
        public void setValue(String value) {
            this.value = value;
        }
    }

    (2)定义原始数据

    public class Original{
        private String value;
    
        public String getValue() {
            return value;
        }
    
        public void setValue(String value) {
            this.value = value;
        }
    
        public Original(String value){
            this.value = value;
        }
    
        public Memento createMemento(){
            return new Memento(value);
        }
        public void restoreMemento(Memento memento){
            this.value = memento.getValue();
        }
    }

    (3)定义备忘录管理者

    public class Storage{
        private Memento memento;
        public Storage(Memento memento){
            this.memento = memento;
        }
    
        public Memento getMemento() {
            return memento;
        }
    
        public void setMemento(Memento memento) {
            this.memento = memento;
        }
    }

    (4)使用备忘录模式

    public static void main(String[] args){
        Original original = new Original("张三");
        Storage storage = new Storage(original.createMemento());
        // 修改状态
        original.setValue("李四");
        // 恢复至原状态
        original.restoreMemento(storage.getMemento());
    }

  • 相关阅读:
    猫树
    单位根反演
    区间修改区间求和
    最远点 决策单调性
    圆方树
    912. 排序数组
    1309. 解码字母到整数映射
    28. 实现 strStr()
    31. 下一个排列
    22. 括号生成
  • 原文地址:https://www.cnblogs.com/betterwgo/p/15238927.html
Copyright © 2020-2023  润新知