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

开头

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

 

内容

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

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

UML图:

行为型模式——备忘录模式(Memento)_第1张图片

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

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

行为型模式——备忘录模式(Memento)_第2张图片

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

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

行为型模式——备忘录模式(Memento)_第3张图片

客户端

行为型模式——备忘录模式(Memento)_第4张图片

显示结果

行为型模式——备忘录模式(Memento)_第5张图片

 

总结

 

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

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

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

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

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

 

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

 

你可能感兴趣的:(▶C/S,-----【设计模式】,设计模式)