码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式备忘录

时间:2017-11-07 18:11:26      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:备忘录   复杂度   属性   public   使用   span   rest   概率   setname   

备忘录模式



设计原则:遵循迪米特、开闭原则
常用场景:需要在对象的外部保存该对象的内部状态
使用概率: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;
    }
}    

 

设计模式备忘录

标签:备忘录   复杂度   属性   public   使用   span   rest   概率   setname   

原文地址:http://www.cnblogs.com/zhaojj/p/7799565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!