设计模式_Memento_备忘录模式
2014-09-01 20:13
281 查看
形象例子:
同时跟几个MM聊天时,一定要记清楚刚才跟MM说了些什么话,不然MM发现了会不高兴的哦,幸亏我有个备忘录,刚才与哪个MM说了什么话我都拷贝一份放到备忘录里面保存,这样可以随时察看以前的记录啦。
备忘录模式:
备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。
作用:
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态.
UML结构图:
解析:
Memento
模式中封装的是需要保存的状态,当需要恢复的时候才取出来进行恢复.原理很简单,实现的时候需要注意一个地方:窄接口和宽接口.所谓的宽接口就是一般意义上的接口,把对外的接口作为public成员;而窄接口反之,把接口作为private成员,而把需要访问这些接口函数的类作为这个类的友元类,也就是说接口只暴露给了对这些接口感兴趣的类,而不是暴露在外部.下面的实现就是窄实现的方法来实现的.
同时跟几个MM聊天时,一定要记清楚刚才跟MM说了些什么话,不然MM发现了会不高兴的哦,幸亏我有个备忘录,刚才与哪个MM说了什么话我都拷贝一份放到备忘录里面保存,这样可以随时察看以前的记录啦。
备忘录模式:
备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。
作用:
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态.
UML结构图:
解析:
Memento
模式中封装的是需要保存的状态,当需要恢复的时候才取出来进行恢复.原理很简单,实现的时候需要注意一个地方:窄接口和宽接口.所谓的宽接口就是一般意义上的接口,把对外的接口作为public成员;而窄接口反之,把接口作为private成员,而把需要访问这些接口函数的类作为这个类的友元类,也就是说接口只暴露给了对这些接口感兴趣的类,而不是暴露在外部.下面的实现就是窄实现的方法来实现的.
相关文章推荐
- 设计模式—Memento备忘录模式
- 设计模式笔记--行为型模式之六--Memento 备忘录
- Gof设计模式之备忘录模式 (Memento)
- Java设计模式-----Memento备忘录模式
- 设计模式之Memento(备忘录)
- JAVA设计模式-备忘录模式-Memento-游戏备份存档
- 设计模式----Memento(备忘录)
- 设计模式学习笔记(二十)——Memento备忘录
- 【HeadFirst 设计模式学习笔记】21 备忘录(Memento)模式拾零
- 设计模式学习笔记(十七)—Memento备忘录模式
- 设计模式----Memento(备忘录)
- 《模式——工程化实现及扩展》(设计模式C# 版)《备忘录模式 Memento》——“自我检验" 参考答案
- 设计模式--Memento 备忘录模式
- java设计模式之备忘录模式Memento
- 设计模式----Memento(备忘录)
- 设计模式学习-Memento(备忘录)
- 设计模式学习-Memento(备忘录)
- 设计模式C++描述----17.备忘录(Memento)模式
- C++设计模式-Memento备忘录模式
- 设计模式学习笔记--Memento 备忘录模式