备忘录模式

  1. 备忘录角色
public 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;
    }
}
  1. 管理者角色
public class Caretaker {
    private Memento memento;
    public Memento getMemento() {
        return memento;
    }
    public void setMemento(Memento memento) {
        this.memento = memento;
    }
}
  1. 发起人角色
public 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.getState());
    }
    //恢复备份数据
    public void restoreMemento(Memento memento) {
        this.setState(memento.getState());
    }
}
  1. 场景使用
    //定义发起人角色
    Originator originator =new Originator();
    //创建备份管理者角色
    Caretaker caretaker =new Caretaker();
    //创建备份状态
    caretaker.setMemento(originator.createMemento());
    //恢复备份状态
    originator.restoreMemento(caretaker.getMemento());
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 开发仿真系统## 考虑这样一个仿真应用,功能是:模拟运行针对某个具体问题的多个解决方案,记...
    七寸知架构阅读 2,196评论 1 50
  • 面向对象的六大原则 单一职责原则 所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于...
    JxMY阅读 977评论 1 3
  • 其实即使将对象通过缓存或者持久化存储起来,方便必要的时候还原对象比如游戏中的一些装备、状态等比如储存输入框的文字,...
    贾里阅读 548评论 0 0
  • 备忘录模式概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或...
    编程技术阅读 1,426评论 0 1
  • ​雪儿说心得: 哈喽 亲爱的伙伴们,有没有期待雪儿啊,刚刚发货回来,都要冻成冰棍了,这天冷的应该冬眠了,在电...
    懒人雪儿阅读 208评论 0 1