设计模式-备忘录模式

临时存储。也算一种模式?

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 MementoTest {
    public static void main(String[] args){
        Originator originator = new Originator();
        originator.setState("state1");
        System.out.println("initial state:"+originator.getState());

        Caretaker caretaker = new Caretaker();
        caretaker.setMemento(originator.createMemento());

        originator.setState("state2");
        System.out.println("change State:"+originator.getState());
        originator.restoreMemento(caretaker.getMemento());
        System.out.println("back:"+originator.getState());
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 定义 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象...
    步积阅读 8,103评论 0 2
  • 1.备忘录模式的定义及使用场景备忘录模式是一种行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态...
    GB_speak阅读 3,021评论 0 0
  • 介绍 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于...
    东西的南北阅读 2,806评论 0 1
  • 一、定义 备忘录模式(Memento Pattern)提供了一种弥补真实世界缺陷的方法,让“后悔药”在程 序的世界...
    端木轩阅读 2,338评论 0 0
  • 今天想分享一个故事,可能有点长,但其中的愿能有共鸣。 富翁来到海边度假,他每天都看到一个渔夫...
    璎珞小h阅读 4,088评论 0 0

友情链接更多精彩内容