千家信息网

web备忘录模式结构是怎样的

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"web备忘录模式结构是怎样的",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"web备忘录模式结构是怎样的"吧!结构参与者• Memento
千家信息网最后更新 2025年01月24日web备忘录模式结构是怎样的

本篇内容主要讲解"web备忘录模式结构是怎样的",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"web备忘录模式结构是怎样的"吧!

结构

参与者

• Memento(备忘录)

-对象的状态被提取之后形成的数据称为备忘录。具体需要保存哪些数据由生成状态数据的类自行决定。

-由于管理者不了解备忘录的详细内容,因此也就无从操作备忘录中的数据。这样就从结果上保证了备忘录数据的封装性。

-在Python语言中不需要定义备忘录类。

• Originator(原发器)

- 提取自己的状态,生成备忘录的类称为原发器。在收到生成备忘录的请求时生成备忘录数据。

- 在收到恢复备忘录的请求时,根据输入的备忘录数据恢复自己的状态。

• Caretaker(负责人)

- 根据功能的需求从原发器获取备忘录或者使用备忘录恢复原发器的状态。

- 作为备忘录的管理者,其职责只限于管理备忘录数据,而不会操作数据(删除除外)。

-需要管理的信息除了备忘录数据本身以外,还包括备忘录和原发器的对应关系信息(隐性或显性的),只有这样才能保证备忘录可以发送给正确的原发器对象。

效果

备忘录模式将生成备忘录和使用备忘录恢复自身状态的工作完全交给原发器执行。通过这种方式使利用者可以在完全不了解原发器内部构造的情况下就可以取得和恢复备忘录中保存的数据。

这样做的好处是实现了备忘录生成/使用和管理这两件事的完全分离,尽可能降低了使用备忘录数据所需了解的信息,从而很好地保证了软件的扩展性。但从另一个角度来讲,把生成备忘录的过程完全交给原发器也会造成一定的不良后果。例如生成备忘录所占内存空间的容量无法控制等。这一点并不是备忘录模式的问题,而是封装的问题。而且从实际的开发来讲,只要稍加注意,这个问题是完全可以回避的。

到此,相信大家对"web备忘录模式结构是怎样的"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0