设计模式(十三)之 Memento(备忘机制)
来源:互联网 发布:慢慢减肥知乎 编辑:程序博客网 时间:2024/05/24 07:12
Memento 定义:
memento 是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.
Memento 模式相对也比较好理解,
我们看下列代码:
public class Originator {private int number;private File file = null;public Originator(){}// 创建一个 Mementopublic Memento getMemento(){return new Memento(this);}// 恢复到原始值public void setMemento(Memento m){number = m.number;file = m.file;}}
我们再看看 Memento 类:
private class Memento implements java.io.Serializable{private int number;private File file = null;public Memento( Originator o){number = o.number;file = o.file;}}可见 Memento 中保存了 Originator 中的 number 和 file 的值. 通过调用 Originator 中
number 和 file 值改变的话,通过调用 setMemento()方法可以恢复.
Memento 模式的缺点是耗费大,如果内部状态很多,再保存一份,无意要浪费大量内存.
Memento 模式在 Jsp+Javabean 中的应用
在Jsp应用中,我们通常有很多表单要求用户输入,比如用户注册,需要输入姓名和Email等,
如果一些表项用户没有填写或者填写错误,我们希望在用户按"提交 Submit"后,通过 Jsp 程
序检查,发现确实有未填写项目,则在该项目下红字显示警告或错误,同时,还要显示用户刚
才已经输入的表项.
0 0
- 设计模式之(十三)备忘机制Memento
- 设计模式(十三)之 Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento(备忘机制)
- 设计模式之Memento备忘模式
- 行为模式之Memento(备忘机制)
- 设计模式之memento模式(备忘模式)
- 设计模式之Memento
- 设计模式之Memento
- 设计模式之 memento
- 设计模式之MemenTo模式
- 设计模式之Memento模式
- 设计模式与泡mm的关系之Memento备忘模式及再思考
- 设计模式之Memento(备忘录)
- 迭代器删除操作写法及解释
- iptables
- 排序(三):直接选择排序
- Ubuntu 12.04 安装MySQL 5.6.21
- ZEDBOARD启动自启配置(加载镜像)
- 设计模式(十三)之 Memento(备忘机制)
- [软工视频]理论学习——概论、计划、需求分析、设计
- 获取中断描述符表IDT的信息
- 第11周 项目2-求最大公约数(3)
- LINUX总结第15篇:Linux-网桥原理分析
- 对Retinex算法的一些理解
- OpenCV与QT联合编译
- 传特斯拉CEO马斯克将建卫星网络:实现全球联网
- HDU'14’11'校赛 Harmonious Contest