设计模式学习—备忘录模式(Memento Design Pattern)
来源:互联网 发布:我国经济数据 编辑:程序博客网 时间:2024/05/22 11:30
一、我的理解
备忘录模式用于存储某个类在某一时刻的状态。
二、实现方式
另外创建一个类Memento用于保存目标类的状态信息,然后由另一类来存储和管理这一系列保存的状态
三、实例
Java实例
Originator类:原始类,对该类的状态进行保存
package com.study.dp.memento;public class Originator { private String state; public String getState() { return state; } public void setState(String state) { this.state = state; } public Memento saveStateToMemento() { return new Memento(state); } public void getStateFromMemento(Memento memento) { this.state = memento.getState(); } }Memento类:备忘录类,保存目标类的状态信息
package com.study.dp.memento;public class Memento { private String state; public Memento(String state) { super(); this.state = state; } public String getState() { return state; } }CareTaker类:备忘录管理类,存储和管理备忘录
package com.study.dp.memento;import java.util.ArrayList;import java.util.List;public class CareTaker { private List<Memento> mementoList = new ArrayList<>(); public void add(Memento state) { mementoList.add(state); } public Memento get(int index) { return mementoList.get(index); } }Demo类:测试
package com.study.dp.memento;public class Demo { public static void main(String[] args) { Originator originator = new Originator(); CareTaker careTaker = new CareTaker(); originator.setState("State #1"); originator.setState("State #2"); careTaker.add(originator.saveStateToMemento()); originator.setState("State #3"); careTaker.add(originator.saveStateToMemento()); originator.setState("State #4"); System.out.println("Current State: "+originator.getState()); originator.getStateFromMemento(careTaker.get(0)); System.out.println("First saved State: "+originator.getState()); originator.getStateFromMemento(careTaker.get(1)); System.out.println("Second saved State: "+originator.getState()); } }
四、应用场景
阅读全文
0 0
- 设计模式学习—备忘录模式(Memento Design Pattern)
- 设计模式23:Memento Pattern (备忘录模式)
- 设计模式之备忘录模式(Memento Pattern)
- 设计模式------备忘录模式(Memento pattern)
- 设计模式之备忘录模式--- Pattern Memento
- Java设计模式--备忘录模式【Memento Pattern】
- 设计模式【备忘录模式Memento Pattern】
- java设计模式——备忘录模式(Memento Pattern)
- 设计模式——备忘录(Memento Pattern)模式
- Java设计模式——备忘录模式(Memento Pattern)
- 设计模式 Design Parttern ——备忘录模式Memento
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式 Memento Pattern
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 玩卡片
- 特权级--ring0到ring3
- Java NIO使用及原理分析(二)
- javascript 学习笔记(二):作用域实例
- Python|计蒜客——泥塑课
- 设计模式学习—备忘录模式(Memento Design Pattern)
- 适配器模式
- MySQL索引背后的数据结构及算法原理
- 内嵌函数和闭包
- 来源于数据结构与算法分析中的折半查找
- poj 3093
- [POJ](3984)迷宫问题 ---BFS+队列模拟(图+队列模拟)***
- Cloudera Manager5.11.0离线安装详细步骤
- 大整数乘法 java实现