行为型模式——备忘录模式(Memento)

开头

    我一直坚信生活中不存在后悔药,但是今天在软件开发中竟然存在后悔药这一概念,例如打游戏,不能说游戏主人公死了以后就永远能在玩这个游戏了吧,那游戏体验如果是这个样子,我觉得真的没有必要再玩了。今天就带大家介绍一下设计模式中的后悔药——备忘录模式。

 

内容

    我们先从词义上分析一下备忘录一词,好比账本,通讯录、数据库、他们好比记忆工具一样,记录着不同时期每一笔花销状态,每一个人的电话信息状态,每一个不同时间段数据的状态。可见我们可以随意的翻看不同时间段的各种数据信息的状态。这就是备忘录模式。

     备忘录模式大致分为三类角色,分别为:发起人(Originator)、备忘录(Memento)、管理者(Caretaker)

UML图:

例子:下面我们以游戏中的某一游戏角色的状态进行展示。

发起人(Originator):创建一个备忘录保存人物当前状态,恢复以前状态。

备忘录(Memento):存储人物角色状态。

管理者(Caretaker):保存备忘录。

客户端

显示结果

 

总结

 

备忘录模式(Memento Pattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。

优点:备忘录模式实现了信息的封装,可以恢复到以前的状态。

缺点:如果保存的状态太多,占用大量内存空间,浪费系统资源。

适用环境:(1)系统需要执行回滚以及撤销操作。

                 (2)可以保存一个对象某个时刻的状态,且这种状态不会被外界破坏。

 

  关于今天的总结就先到这里,如果本篇博客对于初学者的您有一定的帮助,记得给小编点赞哦。

 

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值