wordpress 做网站,友情链接交换要注意哪些问题,网站打包成app软件,广州新闻发布会1.背景介绍
事务处理是指对数据进行一组操作#xff0c;这些操作要么全部成功#xff0c;要么全部失败#xff0c;以确保数据的一致性和完整性。软件的事务管理主要实现方案主要涉及以下几个方面#xff1a;
#xff08;1#xff09;数据一致性#xff1a;在CAD软件中…1.背景介绍
事务处理是指对数据进行一组操作这些操作要么全部成功要么全部失败以确保数据的一致性和完整性。软件的事务管理主要实现方案主要涉及以下几个方面
1数据一致性在CAD软件中数据一致性是指确保所有操作都遵循一定的顺序以避免意外的后果。例如在编辑图形时确保先删除图形元素然后再创建新的图形元素。
2事务边界在CAD软件中事务边界是指将一系列相关操作组合成一个完整的事务。事务边界可以确保一组操作要么全部成功要么全部失败。例如在绘制一个建筑平面图时将所有操作组合成一个事务以确保整个绘制过程的一致性。
3错误恢复CAD软件需要具备错误恢复能力以便在发生意外故障或操作失败时能够将数据恢复到一致的状态。错误恢复通常涉及到日志记录、事务回滚等机制。
在图形平台的设计与开发中撤销Undo和重做Redo机制是至关重要的功能。它们让用户能够回退到先前的操作状态或者重新执行之前撤销的操作提供了更好的用户体验和操作灵活性这一功能是由事务管理机制来实现的。我们将深入探讨撤销与重做机制的原理、实现方法以及其应用场景。
2.技术方案选择
方案1
commit提交产生的修改对象序列化流保存在redo文件。
方案2
commit提交产生的修改对象序列化流保存在内存中。
由于采用内存存储序列化和反序列化性能方案1的劣于方案2。方案2稳定可靠性差。程序崩溃导致文件修改无法恢复数据丢失无法实现设计目标2.方案1的每次提交保存在文件中程序崩溃后数据可以恢复。保存二进制流会占用大量内存影响程序性能。经过比较决定采用方案1.
3.技术方案
使用对象状态跟踪管理器来跟踪上次提交以来element修改状态。使用OM序列化机制生成所有修改对象的序列化流。将序列化流保存在redo文件中及对象修改状态删除、修改、新增。Redo时读入redo文件的序列化流使用OM反序列化机制生成Element对象根据保存的修改状态,更新对象管理器ElementManager中的对象。Undo时读入redo文件的序列化流使用OM反序列化机制生成Element对象根据保存的修改状态更新ElementManager中的对象。每个事务提交生成一个redo文件。设计TransactionEvent事务事件机制事务commit时发出PreCommint等事件应用做对应处理。设计RedoUndoEvent事件回退和重做时发出对应事件应用做对应处理。
4.设计实现
4.1设计类图 4.2 接口设计 5.使用规则
调整业务逻辑减少事务创建。避免事务的滥用创建新的事务前请仔细三思。在交互模块调用事务避免在在业务逻辑和数据模块使用。 君方智能设计平台介绍链接
ShipMaker船舶协同设计软件介绍-CSDN博客