美文网首页技术栈
2019-03-03——设计模式 备忘录模式

2019-03-03——设计模式 备忘录模式

作者: 烟雨乱平生 | 来源:发表于2019-03-03 19:15 被阅读0次

特点

所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它实现了对信息的封装,使得客户不需要关心状态保存的细节。保存就要消耗资源,所以备忘录模式的缺点就在于消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。

主要角色

  • 发起人(Originator)角色:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能,实现其他业务功能,它可以访问备忘录里的所有信息。
  • 备忘录(Memento)角色:负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。
  • 管理者(Caretaker)角色:对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改。

实现

@Data
public class Originator {
    private String state;

    public Memento createMemento(){
        return new Memento(state);
    }

    public void restoreMemento(Memento memento){
        this.setState(memento.getState());
    }
}


@Data
@AllArgsConstructor
public class Memento {
    private String state;
}


@Data
public class Caretaker {
    private Memento memento;
}

相关文章

网友评论

    本文标题:2019-03-03——设计模式 备忘录模式

    本文链接:https://www.haomeiwen.com/subject/tfemuqtx.html