设计模式系列之--忘备录模式

本文深入探讨了备忘录模式,一种用于存储和恢复对象状态的行为设计模式。通过实例讲解了如何利用备忘录模式保存和恢复对象状态,避免类内部信息泄露,遵循迪米特法则。同时,介绍了备忘录模式与原型模式的结合使用。

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

忘备录模式

这种类型的设计模式属于行为型模式,它他解决了方法的合理调用
忘备录模式比较简单 就是存档
这种模式就是在不同时间赋值对象并储存 但是若储存的对象是原来对象 那么调用回退方法势必会造成类的泄露(对类内部过多关心 不符合迪米特法则) 可以新建一个类只储存需要回退的信息 并用集合封装这些信息即可
既然是复制对象 可以配合原型模式使用

以一个人年龄为例
public class Man {
    private String age;

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public AgeMemo saveAge(){
       return new AgeMemo(getAge());
    }


    public void AgeRollBack(AgeMemo memo){
        this.age = memo.getStatue();
    }

    @Override
    public String toString() {
        return "Man{" +
                "age='" + age + '\'' +
                '}';
    }
}

忘备录类

public class AgeMemo {

    private String statue;

    public AgeMemo(String age) {
        statue = age;
    }

    public String getStatue() {
        return statue;
    }
}

忘备录集合类

public class MemoList {

    private List<AgeMemo> list;

    public MemoList(){
        list = new ArrayList<>();
    }

    public void addAgeMemo(AgeMemo ageMemo){
        list.add(ageMemo);
    }

    public AgeMemo getAgeMemo(int index){
        return list.get(index);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值