zoukankan      html  css  js  c++  java
  • 备忘录模式

    定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态

    class Originator {  
        private String state = "";  
          
        public String getState() {  
            return state;  
        }  
        public void setState(String state) {  
            this.state = state;  
        }  
        public Memento createMemento(){  
            return new Memento(this.state);  
        }  
        public void restoreMemento(Memento memento){  
            this.setState(memento.getState());  
        }  
    }  
      
    class Memento {  
        private String state = "";  
        public Memento(String state){  
            this.state = state;  
        }  
        public String getState() {  
            return state;  
        }  
        public void setState(String state) {  
            this.state = state;  
        }  
    }  
    class Caretaker {  
        private Memento memento;  
        public Memento getMemento(){  
            return memento;  
        }  
        public void setMemento(Memento memento){  
            this.memento = memento;  
        }  
    }  
    public class Client {  
        public static void main(String[] args){  
            Originator originator = new Originator();  
            originator.setState("状态1");  
            System.out.println("初始状态:"+originator.getState());  
            Caretaker caretaker = new Caretaker();  
            caretaker.setMemento(originator.createMemento());  
            originator.setState("状态2");  
            System.out.println("改变后状态:"+originator.getState());  
            originator.restoreMemento(caretaker.getMemento());  
            System.out.println("恢复后状态:"+originator.getState());  
        }  
    }  
  • 相关阅读:
    ESlint 格式化代码 备忘
    css 点击样式,水波纹(记录备用)
    RabbitMq 报错记录
    sql For xml path('') 备忘
    .net core Area独立成单独的dll文件
    刷shipid 简便方法
    实际操作--create DB link
    POS VB
    设置PL/SQL 快捷键
    要开始学习C#
  • 原文地址:https://www.cnblogs.com/chenyishi/p/9139047.html
Copyright © 2011-2022 走看看