行为型设计模式中,备忘录模式是如何应用的?

更新于
2026-07-31 14:12:11
17阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1781个文字,预计阅读时间需要8分钟。

行为型设计模式中,备忘录模式是如何应用的?

@TOC 备忘录模式(Memento Pattern)又称快照模式(Snapshot Pattern)或令牌模式(Token Pattern),属于行为型模式。该模式指的是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

@TOC

备忘录模式

备忘录模式(Memento Pattern)又称为快照模式(Snapshot Pattern)或令牌模式(TokenPattern),属于行为型模式。

它是指在不破坏封装的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简而言之:允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。

它提供一种类似“后悔药”的机制,通过存储系统各个历史状态的快照,使得可以在任一时刻将系统回滚到某一个历史状态。

应用场景

1.需要保存历史快照的场景 2.希望在对象之外保存状态,且除了自己其他类对象无法访问状态保存具体内容

应用场景举例:代码版本控制,游戏存档功能,数据库的事务管理等

假如有一款编辑器应用程序,程序在执行任何操作前记录所有的对象状态, 并将其保存下来。 当用户此后需要撤销某个操作时, 程序将从历史记录中获取最近的快照, 然后使用它来恢复所有对象的状态。

优缺点

优点:

1.简化发起人实体类Originator职责,隔离状态存储与获取,实现了信息的封装,客户端无需关心状态的保存细节 2.提供状态回滚功能:给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。
阅读全文

本文共计1781个文字,预计阅读时间需要8分钟。

行为型设计模式中,备忘录模式是如何应用的?

@TOC 备忘录模式(Memento Pattern)又称快照模式(Snapshot Pattern)或令牌模式(Token Pattern),属于行为型模式。该模式指的是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

@TOC

备忘录模式

备忘录模式(Memento Pattern)又称为快照模式(Snapshot Pattern)或令牌模式(TokenPattern),属于行为型模式。

它是指在不破坏封装的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简而言之:允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。

它提供一种类似“后悔药”的机制,通过存储系统各个历史状态的快照,使得可以在任一时刻将系统回滚到某一个历史状态。

应用场景

1.需要保存历史快照的场景 2.希望在对象之外保存状态,且除了自己其他类对象无法访问状态保存具体内容

应用场景举例:代码版本控制,游戏存档功能,数据库的事务管理等

假如有一款编辑器应用程序,程序在执行任何操作前记录所有的对象状态, 并将其保存下来。 当用户此后需要撤销某个操作时, 程序将从历史记录中获取最近的快照, 然后使用它来恢复所有对象的状态。

优缺点

优点:

1.简化发起人实体类Originator职责,隔离状态存储与获取,实现了信息的封装,客户端无需关心状态的保存细节 2.提供状态回滚功能:给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。
阅读全文