Java 23种设计模式之备忘录模式
2018-01-02 22:53
501 查看
1. 概念
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。
2. 创建发起者对象
public class Originator { private String state; public String getState() { return state; } public void setState(String state) { this.state = state; } //创建备忘录 public Memento createMemento(){ return new Memento(state); } //设置备忘录 public void setMemento(Memento memento){ this.state = memento.getState(); } //显示状态 public void showState(){ System.out.println("state="+state); } }
3. 创建备忘录类
public class Memento { private String state; public Memento(String state){ this.state = state; } public String getState() { return state; } public void setState(String state) { this.state = state; } }
4.创建管理者类
public class Caretaker { private Memento memento; public Memento getMemento() { return memento; } public void setMemento(Memento memento) { this.memento = memento; } }
5. 测试类
@org.junit.Test public void test(){ //创建发起者 Originator o = new Originator(); o.setState("初始状态,满血打boss"); o.showState(); //创建管理者 保存发起者创建的备忘录 Caretaker care = new Caretaker(); care.setMemento(o.createMemento()); //改变发起者的状态 o.setState("boss太强,已阵亡!!!"); o.showState(); //从管理者恢复备忘录 o.setMemento(care.getMemento()); o.showState(); }
6.小结
备忘录模式比较适用于功能比较复杂的,但需要维护或记录属性历史的类,或者需要保存的属性只是众多属性中的一小部分时,Originator可以根据保存的备忘信息还原到前一状态。
相关文章推荐
- Java23种设计模式之-----备忘录模式
- Java23种设计模式——备忘录模式
- JAVA开发的23种设计模式之 --- 备忘录模式
- Java中的23种设计模式与7大原则
- 关于Java 23种设计模式的有趣见解 .
- 追MM与Java的23种设计模式
- 23种设计模式之---备忘录模式
- Java23种设计模式案例:工厂方法模式(Factory Method)
- java 23种设计模式 深入理解
- Java开发中的23种设计模式详解(好文,转)
- JAVA开发的23种设计模式之 --- 单例模式
- Java 23种设计模式详尽分析与实例解析之二--结构型模式
- java 23种设计模式
- Java开发中的23种设计模式详解
- 走穿java23种设计模式-4建造者模式详解
- JAVA设计模式-备忘录模式-Memento-游戏备份存档
- Java23种设计模式简介与原则
- Java开发中的23种设计模式详解
- [置顶] Java23种设计模式总汇
- 简明介绍java的23种设计模式