Java设计模式--备忘录模式

备忘录模式也是行为模式的一种,主要是提供一种保存内部状态的方法,方便在合适的时候恢复。简单实现:

备忘录实体类:

public class Memento {
    private String state;

    public Memento(String state){
        this.state = state;
    }

    public String getState(){
        return state;
    }
}

备忘录的应用类

public class Originator {
    private String state;

    public void setState(String state){
        this.state = state;
    }

    public String getState(){
        return state;
    }

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

    public void getStateFromMemento(Memento Memento){
        state = Memento.getState();
    }
}

备忘录管理类

public class MementoManager {
    private ArrayList<Memento> mementoList = new ArrayList<>();

    public void add(Memento state){
        mementoList.add(state);
    }

    public Memento get(int index){
        return mementoList.get(index);
    }
}

测试类

    public static void main(String[] args) {
        Originator originator = new Originator();
        MementoManager manager = new MementoManager();
        originator.setState("state 1");
        originator.setState("state 2");
        manager.add(originator.saveStateToMemento());
        originator.setState("state 3");
        manager.add(originator.saveStateToMemento());
        originator.setState("state 4");
        System.out.println(originator.getState());
        System.out.println(manager.get(0).getState());
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容