编程人 cdmana.com

设计模式行为型:备忘录模式(MementoPattern)

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

结构图

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

角色与理解

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

核心代码

  • 原发器
  • 备忘录
  • 管理者
  • 客户端

本文分享自微信公众号 - 码农架构(iByteCoding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间: 2020-11-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

Scroll to Top