备忘录模式Memento保存和回复内部状态

本文介绍了一种设计模式——备忘录模式,该模式允许在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这些状态,以便将来可以恢复到原先保存的状态。文章提供了备忘录模式的具体实现代码,包括发起人角色(Originator)、管理者角色(Caretaker)及备忘录角色(Memento)的定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。

public interface Memento {

}

public class Originator {
private String state = "";

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

public void setMemento(Memento memento) {
MementoImpl mementoImpl = (MementoImpl)memento;
this.state = mementoImpl.getState();
}

private static class MementoImpl implements Memento {
private String state = "";
public MementoImpl(String state) {
this.state = state;
}
public String getState() {
return state;
}
}
}

public class Caretaker {
private Memento memento = null;
public void saveMemento(Memento memento) {
this.memento = memento;
}
public Memento retriveMememto() {
return this.mememto;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值