zoukankan      html  css  js  c++  java
  • 设计模式备忘录

    备忘录模式



    设计原则:遵循迪米特、开闭原则
    常用场景:需要在对象的外部保存该对象的内部状态
    使用概率: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;
        }
    }    
  • 相关阅读:
    python中文编码
    Python习题纠错1
    Python中的变量
    Python之注释
    python初步学习
    java输入数据并排序
    五月最后一天
    @component注解
    多线程回顾
    赖床分子想改变--
  • 原文地址:https://www.cnblogs.com/zhaojj/p/7799565.html
Copyright © 2011-2022 走看看