0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设计模式行为型:备忘录模式

冬至子 来源:码农架构 作者:小智 2023-06-07 11:16 次阅读

备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。

在不破坏封装的前提下,捕获对象的内部状态,并在对象外存储这个内部状态,以便将来回滚到这一状态。

所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。

结构图

锁用来对数据进行锁定,我们可以从锁定对象的粒度大小来对锁进行划分,分别为行锁、页锁和表锁。

图片

角色与理解

  • 备忘录模式共分为三种种角色:
  • Originator(原发器):需要被记录状态的类
  • Memento(备忘录):记录原发器状态的类,内部含有原发器的部分属性或者全部属性,不能被其他类所修改
  • Caretaker(管理者):管理备忘录
  • 原发器创建备忘录记录此刻内部各属性的值,将备忘录交给管理者管理,回滚状态时,从管理者中获取备忘录,重置内部属性

核心代码

  • 原发器

图片

  • 备忘录

图片

  • 管理者

图片

  • 客户端

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7144

    浏览量

    161978
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发实例:【手机备忘录

    基于用户首选项,实现了备忘录新增、更新、删除以及查找等功能。
    的头像 发表于 04-18 21:40 281次阅读
    HarmonyOS开发实例:【手机<b class='flag-5'>备忘录</b>】

    70 面向对向设计模式实践之备忘录(快照)模式

    前端
    小凡
    发布于 :2022年08月28日 16:12:28

    高颜值智能备忘录:不再遗忘任何要事

    摸出手机,在屏幕上找出备忘录,打字,纠错,排版...感觉好心塞...或者某天你在跑步,突然想起要给明天生日的女朋友买礼物,你在心里反复提醒,然后...跪了一晚上榴莲...面对这些情况,小编特别想给大家
    发表于 05-19 21:48

    PostgreSQL操作备忘录

    PostgreSQL 操作备忘录
    发表于 05-23 08:48

    UDS诊断命令备忘录

    UDS实践性强,逻辑复杂,很多服务非要体验过一次才能理解,导致包括我在内的初学者感觉晦涩难懂,不明觉厉,因此将自己的理解写下来、整理下来,与君共勉。零、UDS诊断命令备忘录一、简介UDS
    发表于 08-26 16:09

    怎样去搭建一种基于XR806的开源桌面备忘录

    本人计划怼一个开源桌面备忘录/天气预报/相册的项目基于XR806,同时学习鸿蒙操作系统获得晕哥赠送的开发板和芯片,目前处于环境搭建阶段看起来这个芯片玩的人比较少,目前遇到了问题,不知道如何解决,希望
    发表于 12-28 06:52

    keil5MDK和eplan2.7安装备忘录相关资料分享

    备忘录是防止以后安装的时候忘记步骤和主要问题。keil5安装我第一次使用的是软件安装管家的安装包,安完以后发现注册码一直弄不上,芯片库里边也没有STM32的芯片。然后找到大二时候电子工艺实习
    发表于 01-10 07:06

    戴姆勒与百度签署谅解备忘录

    7月25日,奔驰母公司戴姆勒与百度签署谅解备忘录,深化双方在自动驾驶和车联网等领域的战略合作。
    的头像 发表于 07-28 09:53 2519次阅读

    设计模式备忘录设计模式

    备忘录设计模式(Memento Design Pattern)是一种行为型设计模式,它的主要目的是在不破坏对象封装性的前提下,捕捉和保存一个对象的内部状态
    的头像 发表于 06-06 11:19 608次阅读

    设计模式行为型:策略模式

    在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:18 429次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:策略<b class='flag-5'>模式</b>

    设计模式行为型:状态模式

    在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为模式
    的头像 发表于 06-07 11:20 383次阅读
    设计<b class='flag-5'>模式</b><b class='flag-5'>行为</b>型:状态<b class='flag-5'>模式</b>

    行为型设计模式在UVM中的应用

    接下来介绍行为型设计模式在UVM中的应用。
    的头像 发表于 08-09 14:01 399次阅读
    <b class='flag-5'>行为</b>型设计<b class='flag-5'>模式</b>在UVM中的应用

    实践GoF的23种设计模式备忘录模式

    相对于代理模式、工厂模式等设计模式备忘录模式(Memento)在我们日常开发中出镜率并不高,除了应用场景的限制之外,另一个原因,可能是
    的头像 发表于 11-25 09:05 269次阅读
    实践GoF的23种设计<b class='flag-5'>模式</b>:<b class='flag-5'>备忘录</b><b class='flag-5'>模式</b>

    亿纬锂能与Aksa签署谅解备忘录,共建土耳其合资公司

    根据这份谅解备忘录, 亿纬锂能和Aksa同意在土耳其设立一个合资企业。至于合资企业的股权结构、管理模式、融资途径等具体内容将在未来的合资协议中予以详述。
    的头像 发表于 01-16 10:22 291次阅读

    容百科技宣布与SK On签订《合作备忘录

    本周,容百科技宣布与SK On签订《合作备忘录》,双方将围绕三元和磷酸锰铁锂正极开展深度合作。
    的头像 发表于 03-29 09:56 156次阅读