行为型设计模式-备忘录 Memento
date
Apr 24, 2021
slug
design-pattern-memento
status
Published
tags
设计模式
summary
type
Page
简介
允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态,该状态保存在对象之外,这样就可以不破坏原有对象的封装性了。
角色
- Originator 原发器
即需要被保存状态的类
- 抽象 Memento 备忘录类
定义备忘录基本接口
可以看做成是快照 Snapshot
- 具体 Memento 备忘录类
实现接口
- Caretaker 负责人
即连接Originator和Memento的类,维护一个Memento队列,通过操作队列实现undo redo的操作
类图
图中,ConcreteOriginator通过save方法,生成一个Memento,Caretaker 的history属性保存这些Memento,实现undo操作。
代码
output: