设计模式备忘录

Posted zjj911

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式备忘录相关的知识,希望对你有一定的参考价值。

备忘录模式



设计原则:遵循迪米特、开闭原则
常用场景:需要在对象的外部保存该对象的内部状态
使用概率:5%
复杂度:中
变化点:无
选择关键点:是否可以在必要的时候捕捉到对象的内部状态
逆鳞:大对象的备份



主要思想:
简单理解就是把对象的变化保存起来进行备份,可以恢复
简单实现在每次对象属性变化前把属性存起来,或者暴力的直接深克隆对象,然后把对象存起来.


public class Person {
    private String name;

    private Stack<String> nameRecordStack=new Stack<>();


        //当然也可以扩展 把备份和恢复提出去
    private void restoreName(){
        if(nameRecordStack!=null&&nameRecordStack.size()!=0){
            this.name=nameRecordStack.pop();
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        nameRecordStack.push(name);
        this.name = name;
    }
}    

 

以上是关于设计模式备忘录的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之备忘录模式

设计模式备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

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

设计模式——备忘录模式

设计模式-备忘录模式

手撸golang 行为型设计模式 备忘录模式