Day41. 备忘录模式

本文同步更新於blog

Memento Pattern

透过对象外的存档,让对象能够载入之前的状态。


备忘录模式会将类别分成三类:
分别是原始类别 (Originator)备忘录类别 (Memento)管理类别 (Caretaker)

原始类别为具有内部状态的标的
备忘录类别为储存的原始类别,拥有当时的内部状态
管理类别负责备忘录类别的存储,并留下历史纪录


优点
可以在不破坏封装性的情况下,保存物件的状态。
可以藉由管理类别,轻易地恢复先前原始类别的状态。

缺点
当备忘录类别过多时,会占用大量的内存。


与其他模式的比较:

[命令模式]:
命令模式的层级为一道道的不同的命令
备忘录模式的层级则为原始类别的状态

[原型模式]:
原型模式相当类似备忘录模式,但缺少了存储的管理类别。


ʕ •ᴥ•ʔ:玩过RPG游戏就会理解的模式。


<<:  JS this:call, apply, bind 与 严谨模式 DAY65

>>:  安全设计原则(Security Design Principles)

Vuex 是什麽

Vuex 是 Vue 提供的一种资料状态管理的模式,它可以统一控管资料的状态,都是在小型的 SPA ...

Day 04: Anaconda开发环境 Jupyter Notebook

JupyterLab是一个以网页为基础的互动式的开发环境,JupyterLab相当弹性,能够画出图表...

[Day 7] 餐前浓汤 pt.4-资料内文取得及储存

上一篇我们提到了如何观察并且取出我们要的资料 也成功地把资料取出来了 这一篇我们将要对资料做最後的加...

会计,审计和问责制(Accounting, Auditing, and Accountability)& 用户和实体行为分析(UEBA)

日志是会计的工作成果。可以通过查看或检查(审核)一组相关日志(审核记录)以唯一地将活动跟踪到实体来实...

随机化MAC 手机 wifi 问题

安桌 Android 和 iPhone IOS 都有此选项 手机MAC address 这个选项可以...