首页 > 其他分享 >君方智能设计平台-数据对象升级框架设计

君方智能设计平台-数据对象升级框架设计

时间:2024-07-18 15:26:46浏览次数:9  
标签:文件 框架 君方 XPE 升级 设计 数据 成员

1.设计背景

     由于文件存储基于流存储,目前处于快速开发阶段, 修改对象数据结构很频繁。对象数据结构的修改,会破坏文件的二进制内存结构,版本发布时导致一些已创建的项目文件不能正常打开。目前的解决方案是,先将文件导出为XPE文件,然后再通过XPE文件导入君方智能设计平台。这个方案有两个不足:

  • 通过XPE导入会丢失一些数据,导致模型不完整,还需要在导入模型的基础上在进行修复。
  • 如果模型较多,会耗费大量的时间。如果模型文件能够在打开时,自动进行升级,能解决上述问题。文件数据升级功能CAD软件基础功能。

     本设计只解决数据升级的问题,文件的行为升级问题提供升级过程进度反馈机制不在本设计范围内。会在后面的时间内单独设计解决。

2.设计需求

数据升级的情况很多,能够提供一种数据升级框架,能够灵活扩展支持各种升级场景。目前已知的场景有:

  • 类新增数据成员-普通数据、容器数据、指针数据
  • 类删除数据-普通数据、容器数据和指针数据
  • 类的数据成员的改名
  • 类的数据成员从基类移到子类
  • 类的数据成员从子类移到父类。

比较常用的是场景1、场景2,前期只会支持这两种情况,后期再实现后面几种。

3.设计方案

总体设计:基于OM来实现,通过类型成员的类成员的OM属性来生成新的内存节点,然后使用OM来实现新的内存节点数据的填充。具体步骤如下;

步骤1-收集属性变更

标签:文件,框架,君方,XPE,升级,设计,数据,成员
From: https://blog.csdn.net/ljemailbox/article/details/94436528

相关文章

  • 基于计算机学院校友网的设计与实现【源码+文档+PPT】
    精彩专栏推荐订阅:在下方专栏......
  • Java中的分布式任务调度与Quartz框架应用
    Java中的分布式任务调度与Quartz框架应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代软件开发中,分布式系统的任务调度变得越来越重要。本文将深入探讨如何利用Java中的Quartz框架来实现分布式任务调度,以及在实际应用中的一些最佳实践和设计考虑......
  • Java中的大规模数据处理与MapReduce设计
    Java中的大规模数据处理与MapReduce设计大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着数据规模的不断增大,大规模数据处理变得越来越重要。在Java领域,MapReduce作为一种经典的数据处理模型,在处理海量数据时展现了强大的能力。本文将介绍如何在Java中......
  • 设计模式之适配器模式(学习笔记)
    定义 适配器模式是一种结构型设计模式,它允许将一个类的接口转换为客户端希望的另一个接口。适配器使得原本由于接口不兼容而不能一起工作的类可以协同工作。通过创建适配器类,可以将现有类的接口转换成目标接口,从而使这些类能够在一起工作。为什么使用适配器模式兼容性适......
  • springboot博客交流平台-计算机毕业设计源码56406
    摘要博客交流平台作为一种重要的网络平台,为用户提供了展示自我、分享经验和与他人互动的空间。在国内外,研究者们关注博客交流平台的各个方面,并取得了显著的进展。研究内容主要包括用户体验和界面设计、社交化和互动性、多媒体内容支持、移动设备适配和跨平台体验、数据分析......
  • Java中的异常处理与容错设计最佳实践
    Java中的异常处理与容错设计最佳实践大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java编程中,异常处理是一个非常重要的环节。良好的异常处理和容错设计可以提升系统的健壮性和可维护性。本文将介绍Java中的异常处理与容错设计最佳实践,包括异常的分类......
  • 如何设计和优化Java中的微服务数据库访问层
    如何设计和优化Java中的微服务数据库访问层大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在微服务架构中,数据库访问层的设计和优化是决定系统性能和稳定性的关键因素之一。本文将介绍如何设计和优化Java中的微服务数据库访问层,包括数据源配置、持久层框......
  • 基于注解注册连接的Thrift框架(03)——TProtocol
    前情提要之前介绍了TProcessor的同步和异步实现,也说明了TAsyncMethodCall中的状态循环以及它是如何和TServer进行交互的。TProtocolTProtocol是一个抽象类,主要做了两件事情:绑定一个TTransport定义一系列读写消息的编解码接口。包括两类,一类是复杂数据结构比如readMessageBe......
  • I2C 控制器设计
    1系统框图0I2CMaster控制器主要包含I2C收发数据状态机,SCL时钟分频器、发送移位模块、接收移位模块、空闲控制忙指示模块。SCL和SDA的输出逻辑和时序通过SCL和I2C状态机控制。重点介绍下其中的关键信号:IO_sda为I2C双向数据总线O_scl为I2C时钟I_wr_cnt写数据字节长度,包含了器......
  • Symfony框架详解:构建高效、可维护的Web应用
    引言Symfony是一个由SensioLabs开发并维护的PHP框架,遵循MVC(Model-View-Controller)设计模式。它不仅提供了一系列强大的工具和功能,还能通过其组件(如HttpFoundation、Routing、DependencyInjection等)单独使用。Symfony的设计目标是让开发者能够高效地构建高质量的Web应用程序,同......