设计模式之Memento模式
来源:互联网 发布:冒险岛登陆器源码 编辑:程序博客网 时间:2024/05/16 15:10
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。
适用场合:比较适合用于功能比较复杂,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时。
首先定义一个Originator(发起人)类
public class Originator { private String state;//需要保存的属性(可以定义多个) public void setState(String state){ this.state=state; } public String getState(){ return state; } //创建备忘录,将当前需要保存的信息导入并实例化一个Memento对象 public Memento createMemento(){ return new Memento(state); } //恢复备忘录 public void setMemento(Memento memento){ state=memento.getState(); } public void show(){ System.out.println("state="+state); }}
定义一个Memento(备忘录)类
public class Memento { private String state; //通过构造方法将相关数据导入 public Memento(String state){ this.state=state; } public String getState(){ return state; }}
然后定义一个Caretaker(管理者)类,封装Memento
public class Caretaker { private Memento memento; //设置备忘录 public void setMemento(Memento memento){ this.memento=memento; } //得到备忘录 public Memento getMemento(){ return memento; }}
客户端代码
public static void main(String[] args) { //备忘录模式 Originator originator=new Originator(); originator.setState("on");//初始状态为on originator.show(); Caretaker caretaker=new Caretaker(); caretaker.setMemento(originator.createMemento()); originator.setState("off");//状态改变为off originator.show(); //恢复原来状态 originator.setMemento(caretaker.getMemento()); originator.show();}
0 0
- 设计模式之Memento
- 设计模式之Memento
- 设计模式之 memento
- 设计模式之MemenTo模式
- 设计模式之Memento模式
- 设计模式之Memento(备忘录)
- 设计模式简单代码之Memento模式
- 设计模式之Memento备忘模式
- 设计模式读书笔记之备忘录模式(Memento)
- 设计模式之备忘录模式Memento
- 设计模式之备忘录模式(Memento Pattern)
- 常见设计模式之Memento模式
- java设计模式之备忘录模式Memento
- 设计模式之备忘录模式(Memento)
- 设计模式之备忘录模式,memento
- 设计模式之备忘录模式(Memento)
- 设计模式入门之备忘录模式Memento
- 设计模式之备忘录模式(Memento)摘录
- _STORAGE_WRITE_ERROR_
- 7.9成员函数重载运算符
- crtmpserver分析与组网
- 《正则表达式详解》系列技术文章整理收藏
- 多线程编程(一)--进程和线程之由来
- 设计模式之Memento模式
- Git笔记
- toString()
- 第十六周 项目二-有些数的阶乘不算了
- centos6.5 安装postgresql9.4
- VS添加执行不调试按钮
- 程序员常去的14个顶级开发社区
- Eclipse中將Java项目转变为Java Web项目
- ruby-方法