首页 > 代码库 > 取消基本数据的修改——备忘录模式的应用

取消基本数据的修改——备忘录模式的应用

      

模式应用背景


       在机房收费系统中,有一个修改基本数据的窗体:


      


       因为在文本框中修改数据之后,只要不点击修改按钮,就不会更新到数据库中,所以,个人版中这里的取消按钮是从数据库读取原始数据,再重新加载到窗体上来。这次合作的时候,加入了备忘录模式重新处理这个取消按钮。



如何加入模式


     基本思路是这样的:

      1,将要保存的BaseData(基本数据类的实体名)作为成员变量放到备忘录类里面,并在备忘录类初始化的时候传入要保存的基本数据。

      2,定义发起者用来创建和回恢复备忘录的数据,如果点击了取消后,就用这个类来恢复数据备忘录中数据并返回

      3,利用管理者来管理产生的备忘录



     类图如下:

 

   




   使用备忘录模式的好处:




               1,将基本数据的存取细节封装起来,储存在BaseDataMemento中,实现了基本数据的储存和恢复相分离;

               2,避免了频繁访问数据库读取基本数据




   对备忘录模式的缺陷考虑


                      因为备忘录模式是将要保存对象封装到一个备忘录对象中,所以当如果要保存的数据非常大的时候,这时候存入内存中,消耗的资源肯定比频繁连接数据库读取数据所要消耗的资源多,权衡两种实现“取消”的方法,这时候我们在使用这个模式的时候就要考虑下了。