备忘录模式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

备忘录模式的优缺点
优点: 提供了一种状态恢复的实现机制,使得 用户可以方便地回到一个特定的历史步 骤。 实现了信息的封装。
缺点:

资源消耗过大,如果类的成员变量太多,就不 可避免占用大量的内存,而且每保存一次对象 的状态都需要消耗内存资源。
备忘录模式的应用
(1)几乎所有的文字或者图像编辑软件都提供 了撤销功能,实际上这中间就使用到了备忘录 模式。 (2)数据库管理系统DBMS所提供的事务管理应 用了备忘录模式,当数据库某事务中一条数据 操作语句执行失败时,整个事务将进行回滚操 作,系统回到事务执行之前的状态。
备忘录模式
为了使软件的使用更加人性化,对 于误操作,我们需要提供一种类似于 “撤销按钮” 的机制,让软件系统可 以回到误操作前的状态,因此需要保存 用户每一次操作时系统的状态,一旦出 现误操作,便可以把存储的历史状态取 出来即可回到之前的状态。

模式定义
模式结构与分析 模式特点及应用


模式定义
备忘录模式:在不破坏封装的前提下,捕 获一个对象的内部状态,并在该对象之 外保存这个状态,这样可以在需要时将 对象恢复到原先保存的状态。
模式结构
备忘录模式包含以下三个角色: Originator:发起人 Memento:备忘录 Caretaker:管理者
Originator - state : + restoreMemento (Memento m) + createMemento () ...
Βιβλιοθήκη Baidu
Thank you!
Memento - state : + getState () + setState ( state) ...
return new Memento(state);
state=m.getState();
memento
Caretaker
模式分析

实例:用户信息操作撤销
某系统提供了用户信息操作模块,用户 可以修改自己的各项信息。为了使操作过程 更加人性化,现使用备忘录模式对系统进行 改进,使得用户在进行了错误操作之后可以 恢复到操作之前的状态。
相关文档
最新文档