当前位置:网站首页>备忘录模式
备忘录模式
2022-08-04 19:12:00 【wfsm】
备忘录模式(Memento):快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态
备忘录模式角色:
- 发起人(Originator) : 记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,他可以访问备忘录里的所有信息
- 备忘录(Memento): 负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人
- 管理者(Caretaker): 对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改
代码:
备忘录
@Data
@AllArgsConstructor
public class Memento {
private String state;
}
管理者
@Data
public class Caretaker {
private Memento memento;
}
发起人
@Data
public class Originator {
private String state;
// 保存状态
public Memento createMemento(){
return new Memento(state);
}
// 恢复
public void restoreMemento(Memento memento){
this.state = memento.getState();
}
}
测试:
public static void main(String[] args) {
Originator originator = new Originator();
Caretaker caretaker = new Caretaker();
//
originator.setState("50");
System.out.println("初始状态: "+originator.getState());
// 存 当前状态
caretaker.setMemento(originator.createMemento());
originator.setState("51");
System.out.println("新的状态: "+originator.getState());
// 恢复状态
originator.restoreMemento(caretaker.getMemento());
System.out.println("恢复状态:"+originator.getState());
}
引用:https://www.jianshu.com/p/f0236f5b60f1
边栏推荐
猜你喜欢
随机推荐
T+Cloud:构建新型生意社交网络和营销关系的“智公司”
win10 uwp ping
Defaced Fingerprint Recovery and Identification
HCIA-R&S自用笔记(22)STP状态与计时器、STP拓扑变化、STP配置及实验
百度智能云重庆工业互联网平台正式亮相,深耕重庆,辐射西南
Openharmony code framework (2) the person that
ACP-Cloud Computing By Wakin自用笔记(1)云计算基础、虚拟化技术
浅谈web网站架构演变过程
【最新资讯】2022下半年软考新增2个地区公布报名时间
切换node版本和切换npm源工具
GBase8s存储过程
测试/开发程序员男都秃头?女都满脸痘痘?过好我们“短暂“的一生......
STP实验
ELECTRA:Pre-training Text Encoders as Discriminators Rather Than Generators
The upgrade of capacity helps the flow of computing power, the acceleration moment of China's digital economy
服务器
笔记本WIFI无法上网(无Internet访问权限)
win10 uwp slider 隐藏显示数值
Internship: changed the requirements
什么是内部客户服务?









