行为型模式之备忘录MEMENTO
来源:互联网 发布:win10怎么安装c语言 编辑:程序博客网 时间:2024/05/17 17:43
一、意图
在不破坏封装性情况下,在对象之外保存该对象的内部状态,实现可撤销回原来状态。
二、图解
为实现撤销机制,我们需要先保存对象的内部状态,当需要撤销时,恢复成过去的状态。但是由于有些对象的某些状态是私有的,不可向外暴露,使得其状态不能被其他对象访问。因此我们需要对象内部自己生成备忘录,但存储在外部。
如上,原发器Originator是需要保存状态的对象,Memento是保存Originator状态的备忘录,Caretaker是管理者。
当我们想保存先前状态时,Careteaker向Originator发送请求备忘录;Originator创建Memento对象(包含Originator的内部状态)并返回备忘录;当用户想要取消操作,Careteaker将Memento对象传递给Originator恢复以前状态。
三、其他
- 使用备忘录可能代价很高,如果备忘录需要拷贝大量信息。
- 如果备忘录的创建及其返回(给它们的原发器)的顺序是可预测的,
备忘录可以仅存储原发器内部状态的增量改变 - 备忘录一般只有原发器能够生成,管理者只能传递其给其他对象。
0 0
- 行为型模式之备忘录MEMENTO
- 行为型模式-备忘录memento
- 设计模式笔记--行为型模式之六--Memento 备忘录
- 行为型模式之备忘录模式(Memento)
- 设计模式(行为型)之备忘录模式(Memento Pattern)
- 行为型模式之备忘录模式(Memento)
- 【设计模式】行为模式之备忘录Memento
- 行为型模式-----备忘录模式(Memento)
- [设计模式-行为型]备忘录模式(Memento)
- 行为型模式-Memento ( 备忘录模式 )
- Memento 备忘录模式 ----对象行为型模式
- 十八、备忘录模式Memento(行为型)
- 备忘录模式Memento(对象行为型)
- 行为模式:Memento(备忘录)
- 设计模式学习之备忘录模式(Memento,行为型模式)(19)
- 设计模式学习之备忘录模式(Memento,行为型模式)(19)
- 设计模式学习之备忘录模式(Memento,行为型模式)(19)
- "围观"设计模式(26)--行为型之备忘录模式(Memento Pattern)
- SOCKET, TCP/UDP, HTTP, FTP 浅析
- 王爽 汇编语言 第三版 实验9 根据材料编程
- GYM 100488 K.Two Pirates(set)
- 802.11协议之学习总结
- linux 地址映射-mmap ,ioremap
- 行为型模式之备忘录MEMENTO
- 省市县三级联动
- 记录php踩过的坑
- java项目res内存不断增大
- 转载关于Linux的命令
- WebView使用,附送Html5Activity一份
- 1007. Maximum Subsequence Sum (25) 求最大连续子序列和
- spring之BeanFactory
- PCL+MFC