18、Memento 备忘录模式
例如:用于记录快照(顺势状态)、存盘
1、Memento
Memento设计模式是一种软件设计模式,用于将对象回滚到其先前状态。它是行为设计模式的一部分,与算法和对象之间的职责分配有关。
行为模式描述了处理对象或类之间的通信的模式。在恢复对象状态时,Memento设计模式具有很大的适用性。需要用户退回到先前状态的应用程序利用了记忆设计模式。
这种设计模式的目的是通过不将信息暴露在所需对象之外而不违反封装原理。在本文中,我们将讨论可以使用memento设计模式的场景,描述什么是memento设计模式,并讨论其优缺点。让我们开始吧
限制是始发者是唯一存储和从memento中检索信息的人。让我们逐一查看这些参与者,以清楚地了解所有这些含义-
1.纪念品
记忆对象存储原始对象的内部状态。
发起者可以访问memento对象,任何其他对象都不能直接与其交互。
2.发起人
发起者本身负责创建一个包含其当前内部状态快照的纪念品。
此外,它使用纪念品恢复内部状态
3.看守
看守类负责保存memento的状态快照。它维护一个状态列表,然后由始发者用来切换回该状态。您将借助memento设计模式的示例了解此类的用法。
2、示例代码
1.纪念品
memento类由状态变量组成,在我们的例子中,我们使用普通字符串表示状态。记忆类有两种方法;一个是构造函数,并返回当前状态。
package cn.design.behavior.memento;
/**
* @author lin
* @version 1.0
* @date 2020/8/2 22:13
* @Description 纪念品
*/
public class Memento {
private String state;
public Memento(String state) {
this.state = state;
}
pub