[发明专利]一种程序代码的转换处理方法及系统在审
申请号: | 202110476837.3 | 申请日: | 2021-04-29 |
公开(公告)号: | CN113110847A | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 庄伟振 | 申请(专利权)人: | 杭州以诺行汽车科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 田金霞 |
地址: | 311100 浙江省杭州市余杭区仓前街道*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序代码 转换 处理 方法 系统 | ||
本发明提供一种程序代码的转换处理方法,包括:建立实体类对象与数据传输对象之间的转换关系;指定转换方向;获取转换方向对应的接收对象;对接收对象进行识别,以获取得到接收对象的调用代码;根据转换方向结合转换关系将接收对象的调用代码转换为目标对象的调用代码;其中,于接收对象为实体类对象时,目标对象为数据传输对象;于接收对象为数据传输对象时,目标对象为实体类对象。有益效果:实现实体类对象与数据传输对象的逻辑绑定,并接通过转换关系实现实体类对象与数据传输对象之间的相互转换。
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种程序代码的转换处理方法及系统。
背景技术
当前后端开发尤其是基于Java Spring体系的技术架构中。领域驱动设计(Domain-Driving Design)是业界较为广泛认可的设计思想。主要思想是各业务接口承载数据的数据结构充分地表现其业务特征。但是,在关系数据库设计中,数据库实体类往往要遵从数据库设计范式规范,注重底层数据关系,避免过分冗余。所以实体类如果作为领域对象的话对于业务描述在一些场景下并非很直观,因此需要将实体类对象转换为接口需要的数据传输对象。
在业务设计中实体类对象和数据传输对象在大量业务领域描述的字段上有高度的一致性;然而实体类对象包含业务数据所有的信息,数据传输对象仅包含业务数据中的必要信息。
现有技术可以直接将数据传输对象转换为实体类对象,但是现有技术中的转换代码会存在大量重复性极高代码,并且对于业务性的处理,也无法做到一次书写重复使用。而且当其他接口也需要获取用户相关信息但是业务数据需求不同时,上述现有技术无法进行简单重用。
现有技术也可以使用常见对象深度拷贝类库,如org.apache.commons.beanutils.BeanUtils,但是上述现有技术会存在以下问题:
第一、默认仅支持同名同类型字段深度拷贝,对于不同名称不同类型的转换无法处理;
第二、使用反射的方式进行处理,性能较差;
第三、对转换字段进行排除时,需要提供字符串形式的字段名称,若实体类对象或者数据传输对象字段作修改,无法通过语法检查发现问题;
第四、无法进行业务性转换的处理,如订单数,订单金额等;
第五、若使用Hibernate等JPA的持久化方法,深度拷贝时会不断触发起关系定义的懒加载导致崩溃。
发明内容
针对现有技术中存在的上述问题,现提供一种程序代码的转换处理方法及系统。
具体技术方案如下:
一种程序代码的转换处理方法,其中,包括以下步骤:
建立实体类对象与数据传输对象之间的转换关系;
指定转换方向;
获取转换方向对应的接收对象;
对接收对象进行识别,以获取得到接收对象的调用代码;
根据转换方向结合转换关系将接收对象的调用代码转换为目标对象的调用代码;
其中,于接收对象为实体类对象时,目标对象为数据传输对象;
于接收对象为数据传输对象时,目标对象为实体类对象。
优选的,程序代码的转换处理方法,其中,建立实体类对象与数据传输对象之间的转换关系,具体包括以下步骤:
将实体类对象与数据传输对象两者中的同名字段对应的调用代码建立转换关系;
将实体类对象与数据传输对象两者中的同一领域数据对应的调用代码建立转换关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州以诺行汽车科技股份有限公司,未经杭州以诺行汽车科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110476837.3/2.html,转载请声明来源钻瓜专利网。