设计模式22备忘录模式

备忘录模式 memento

场景:

录入大批人员资料。正在录入当前人资料时,发现上一个人录错了,此时需要恢复上一个人的资料,再进行修改。
Word文档编辑时,忽然电脑死机或断电,再打开时,可以看到word提示你恢复到以前的文档
管理系统中,公文撤回功能。公文发送出去后,想撤回来。

核心

就是保存某个对象内部状态的拷贝,这样以后就可以将该对象恢复到原先的状态

结构:

源发器类 Originator 保存对象内部的状态
备忘录类 Memento 保存对象内部状态的拷贝
负责人类 CareTaker 存储备忘录的
在这里插入图片描述

课堂代码的类图

在这里插入图片描述

源发器类
在这里插入图片描述
备忘录类
在这里插入图片描述
构造器
在这里插入图片描述
源发器类中还需要加两个内容
进行备忘操作,并返回备忘录对象
进行数据恢复,恢复成指定备忘录对象的值
在这里插入图片描述
负责人类
管理备忘录对象
提供一个备忘录对象
在这里插入图片描述
测试
设置备忘点!
备忘完了之后对对象做一些修改
在这里插入图片描述
恢复到第一次的对象
在这里插入图片描述
要设置多个备忘点,通过容器来做
在这里插入图片描述

在这里插入图片描述

负责人类

负责保存好的备忘录对象。
可以通过增加容器,设置多个“备忘点”
在这里插入图片描述

备忘点较多时:
将备忘录压栈
在这里插入图片描述

将多个备忘录对象,序列化和持久化

开发中常见的应用场景:

棋类游戏中的,悔棋
普通软件中的,撤销操作
数据库软件中的,事务管理中的,回滚操作
Photoshop软件中的,历史记录

GOF23中设计模式一览表

在这里插入图片描述

创建型模式:都是用来帮助我们创建对象的!

单例模式
保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。

工厂模式
简单工厂模式
用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码)
工厂方法模式
用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂模式
用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

建造者模式
分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。

原型模式
通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式

结构型模式:关注对象和类的组织

在这里插入图片描述

行为型模式汇总:

关注系统中对象之间的相互交互,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11种模式。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值