type
status
date
slug
summary
tags
category
icon
password
AI summary

一、定义

notion image
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后需要的时候,能将该对象恢复到原先的状态

二、示例:

模拟场景: 1、git的提交记录,不仅能查看自己的提交记录,并且还能回滚到之前的版本
2、在⼤型互联⽹公司系统的发布上线都会记录发版的信息,包括;版本号、时间、MD5、内容信息和操作⼈。在后续上线时如果发现紧急问题,系统就会需要回滚操作,如果执⾏回滚那么也可以设置配置⽂件是否回滚。
我们接下来就使⽤备忘录模式,模拟如何记录配置⽂件信息。实际的使⽤过程中还会将信息存放到库中进⾏保存,这⾥暂时只是使⽤内存记录

备忘录模式

备忘录配置文件
备忘录类
备忘录操作人员:
管理后台
测试:ApiTest
notion image
总结: 此种设计模式的⽅式可以满⾜在不破坏原有属性类的基础上,扩充了备忘录的功能。虽然和我们平时使⽤的思路是⼀样的,但在具体实现上还可以细细品味,这样的⽅式在⼀些源码中也有所体现。
在以上的实现中我们是将配置模拟存放到内存中,如果关机了会导致配置信息丢失,因为在⼀些真实的场景⾥还是需要存放到数据库中。那么此种存放到内存中进⾏回复的场景也不是没有,⽐Photoshop、运营⼈员操作ERP配置活动,那么也就是即时性的⼀般不需要存放到库中进⾏恢复。另外如果是使⽤内存⽅式存放备忘录,需要考虑存储问题,避免造成内存⼤量消耗。
 
JAVA【设计模式】策略模式JAVA【编码规范】Optional 使用