设计模式(十九) 备忘录模式

简介: 备忘录模式是一种行为型模式,作用是将对象的内部状态保存下来,在必要的时候恢复。备忘录模式可以用于游戏存档恢复、文件的历史记录等场合。下面是一个简单的代码例子。

备忘录模式是一种行为型模式,作用是将对象的内部状态保存下来,在必要的时候恢复。备忘录模式可以用于游戏存档恢复、文件的历史记录等场合。

下面是一个简单的代码例子。首先是文档管理器,用于保存文档的状态。


public class DocumentManager {
    private Map<Integer, String> map = new HashMap<>();

    public void saveDocument(int id, String content) {
        map.put(id, content);
    }

    public String loadDocument(int id) {
        return map.get(id);
    }

}

然后是文档类,它利用文档管理器来保存文档的状态,并在必要的时候恢复到上个状态。

public class Document {
    private String content;
    private DocumentManager documentManager = new DocumentManager();
    private int editCount = 0;
    private int autosaveId = 0;

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
        editCount++;
    }

    public Document(String content) {

        this.content = content;
    }

    public void save(int id) {
        documentManager.saveDocument(id, content);
    }

    public void autosave() {
        autosaveId = editCount;
        documentManager.saveDocument(editCount, content);
    }

    public void load(int id) {
        content = documentManager.loadDocument(id);
    }


    public void autoload() {
        content = documentManager.loadDocument(autosaveId);
    }

}

我们可以看到,在修改了文档内容之后,只要重新加载,就可以返回文档的上一个状态。

    public void run() {
        Document document = new Document("content");
        document.setContent("content1");
        document.autosave();

        document.setContent("content2");
        document.autoload();
        System.out.println("上次结果:" + document.getContent());
    }
相关文章
|
设计模式 存储 Java
23种设计模式,备忘录模式的概念优缺点以及JAVA代码举例
【4月更文挑战第9天】备忘录模式是一种行为设计模式,它能在不破坏对象封装的前提下,捕获并保存对象的当前状态,以便后面可以恢复到这个状态。
445 0
|
设计模式 存储 Java
【设计模式】备忘录模式
【设计模式】备忘录模式
285 0
|
设计模式 存储 Java
浅谈设计模式 - 备忘录模式(十五)
浅谈设计模式 - 备忘录模式(十五)
185 0
|
设计模式 存储 Java
Java设计模式【十九】:备忘录模式
Java设计模式【十九】:备忘录模式
179 0
|
设计模式 存储 Java
【设计模式】【行为型模式】备忘录模式(Memento)
一、入门 什么是备忘录模式? 备忘录模式(Memento Pattern)是一种行为设计模式,用于在不破坏封装性的前提下,捕获并外部化一个对象的内部状态,以便在需要时恢复该状态。它通常用于实现撤销操作
485 8
|
存储 设计模式 安全
Java设计模式-备忘录模式(23)
Java设计模式-备忘录模式(23)
311 4
|
存储 设计模式 安全
探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道
备忘录模式是一种行为设计模式,允许在不破坏对象封装性的情况下保存和恢复对象的内部状态。该模式通过创建备忘录对象来存储发起人的状态信息,发起人可根据需要创建和恢复备忘录。管理者则负责保存和管理备忘录,但无法访问其内容。备忘录模式简化了状态管理,支持撤销操作和历史记录功能,提高了系统的灵活性和可用性。在实际应用中,备忘录模式常用于文本编辑器、游戏和数据库事务处理等场景,确保对象状态的安全恢复和有效管理。通过备忘录模式,开发人员可以更好地控制对象状态的变化,提升软件系统的健壮性和用户体验。
590 1
探索设计模式的魅力:备忘录模式揭秘-实现时光回溯、一键还原、后悔药、历史的守护者和穿越时空隧道
|
设计模式
备忘录模式-大话设计模式
备忘录模式-大话设计模式
257 1
|
设计模式 存储 Go
[设计模式 Go实现] 行为型~备忘录模式
[设计模式 Go实现] 行为型~备忘录模式
235 2

热门文章

最新文章