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

简介:        模式应用背景        在机房收费系统中,有一个修改基本数据的窗体:               因为在文本框中修改数据之后,只要不点击修改按钮,就不会更新到数据库中,所以,个人版中这里的取消按钮是从数据库读取原始数据,再重新加载到窗体上来。

      

模式应用背景


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


      


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



如何加入模式


     基本思路是这样的:

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

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

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



     类图如下:

 

   




   使用备忘录模式的好处:




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

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




   对备忘录模式的缺陷考虑


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


   

目录
相关文章
|
SQL 分布式计算 大数据
大数据Hive DML-Load加载数据
大数据Hive DML-Load加载数据
343 0
|
缓存 NoSQL 关系型数据库
Redis缓存与Mysql数据库的一致性问题解决
Redis缓存与Mysql数据库的一致性问题解决
292 0
|
前端开发 安全 API
跨域请求的常见场景有哪些?
了解这些常见的跨域请求场景,有助于我们更好地理解和处理跨域问题,通过合理的技术手段和配置来实现跨域资源的安全访问和交互。
452 64
|
5月前
|
机器学习/深度学习 编解码 计算机视觉
MATLAB实现人脸识别检测与标出图片中人脸
MATLAB实现人脸识别检测与标出图片中人脸
221 0
|
Java 持续交付 数据库
避免服务分层污水池反模式
【6月更文挑战第30天】本文介绍污水池反模式,分层架构在敏捷性、部署性和性能方面得分较低,但具有高测试性和易开发性。关键在于合理分层以降低耦合和提高解耦效果。
623 1
避免服务分层污水池反模式
|
11月前
|
存储 网络协议 Windows
AD域备份和恢复工具
RecoveryManager Plus 是一款强大的Active Directory备份和恢复工具,弥补了Microsoft本地AD功能的不足。它不仅支持对象级和属性级的备份与还原,还能备份架构属性、组成员信息和Exchange属性等关键元素。通过简单的鼠标点击,即可恢复已删除的对象或回滚整个AD到先前状态。该工具还提供定期完整备份、增量备份、备份保留策略等功能,确保AD环境的安全性和可恢复性。此外,它支持免重启恢复,适用于多种Windows服务器版本,是保护AD环境的理想选择。
271 5
|
11月前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
存储 缓存 NoSQL
京东面试:亿级黑名单 如何设计?亿级查重 呢?(答案含:布隆过滤器、布谷鸟过滤器)
尼恩,40岁的老架构师,近期在读者交流群中分享了几个大厂面试题及其解决方案。这些问题包括亿级数据查重、黑名单存储、电话号码判断、安全网址判断等。尼恩给出了三种解决方案:使用BitMap位图、BloomFilter布隆过滤器和CuckooFilter布谷鸟过滤器。这些方法不仅高效,还能显著提升面试表现。尼恩还建议大家系统化学习,刷题《尼恩Java面试宝典PDF》,并提供简历修改和面试辅导,帮助大家实现“offer自由”。更多技术资料和PDF可在公众号【技术自由圈】获取。
提取mp4中的音频Pkt,以adts的方式写为aac文件
使用FFmpeg库从MP4文件中提取音频流,并将其转换为带有ADTS头的AAC文件,提供了两种方法:位运算和位域操作。
238 1
|
人工智能 异构计算 Python
智谱AI数学课代表MathGLM魔搭首发,社区体验推理教程来啦!
GLM家族又发布了一个新成员 数学模型 MathGLM ,以提升大语言模型的数学推理能力。它可以在不使用计算器工具的情况下,高效执行复杂算术运算,解答中文数学应用题,已经在魔搭社区全球首发开源啦!