当前位置: 首页 > news >正文

备忘录模式 (Memento Pattern)

备忘录模式(Memento Pattern)是一种行为型设计模式。它允许在不破坏对象封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在将来的某个时刻可以将对象恢复到先前保存的状态。

一、基础

1. 意图

核心目的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后可以恢复到原先保存的状态。

2. 使用场景

典型应用

  • 需要保存对象状态快照以便回滚
  • 需要实现撤销/重做功能
  • 需要保存对象历史状态
  • 直接获取对象状态会暴露实现细节

具体案例

  • 文本编辑器的撤销操作
  • 游戏存档/读档功能
  • 数据库事务回滚
  • 浏览器页面历史记录

3. 结构

  • 发起人(Originator):负责创建备忘录,记录当前时刻自身的内部状态,并可使用备忘录恢复内部状态。
  • 备忘录(Memento):用于存储发起人对象的内部状态,提供必要的获取状态的接口,但不允许外部

相关文章:

  • 元组类型的特性与应用场景:深入理解元组在 TypeScript 中的使用
  • vue3获取麦克风权限通过websocket进行通话
  • Group By Sets语法
  • 计算机二级MS Office第九套演示文稿
  • 数据结构与算法学习笔记(Acwing提高课)----动态规划·最长上升子序列模型
  • 【Linux系统】Ext系列文件系统
  • 【黑马JavaWeb+AI知识梳理】前端Web基础01 - HTML+CSS
  • Java进阶--面向对象设计原则
  • 大规模数据同步后数据总条数对不上的系统性解决方案:从字段映射到全链路一致性保障
  • Sam算法基本原理解析
  • CPU与GPU的功能与区别解析
  • 运维面试情景题:如果有一块新的硬盘要加入机架如何配置;如果新加了一台服务器,如何配置安全措施
  • DeepSeek预训练追求极致的训练效率的做法
  • 2025.04.26-淘天春招笔试题-第三题
  • MQL5教程 06 EA开发实战
  • 【OSG学习笔记】Day 11: 文件格式与数据交换
  • Dify中的文本分词处理技术详解
  • 财务管理域——企业风控系统设计
  • Channel如何安全地尝试发送数据
  • win11右键菜单改回win10模式
  • 上海发布预付卡消费“10点提示”:警惕“甩锅闭店”套路
  • 光大华夏:近代中国私立大学遥不可及的梦想
  • “救护车”转运病人半路加价,从宝鸡到西安往返都要多收钱
  • 中国经济新动能|警惕数字时代下经济的“四大极化”效应
  • 民生访谈|摆摊设点、公园搭帐篷、行道树飘絮,管理难题怎么解?
  • 水中托举救出落水孩童后遇难,42岁退役军人高武被确认为见义勇为