基于代码文档对象模型、对象生成器动态生成类的方法技术

技术编号:15436934 阅读:44 留言:0更新日期:2017-05-25 19:10
本发明专利技术公开了一种基于代码文档对象模型、对象生成器生成动态类的方法:首先,判断使用方是否具有定制化契约;其次,当使用方具有定制化契约时,判断使用方是否具有动态类;最后,当使用方不具有动态类时,根据使用方的契约配置信息生成动态类,加载动态类,向使用方输出契约数据。本发明专利技术相比于现有技术,解决了现有技术中一份代码对应一份契约的问题,针对不同的使用方,设定了不同的定制化契约,因而可以定制化的输出不同的数据内容;极大的方便维护代码、也方便维护不同的使用方契约,降低了维护成本,提高了信息通讯效率。

Method for dynamically generating classes based on code, document, object model, object generator

The invention discloses a method of object model, dynamic class code generator based on document object: first, determine whether a customized contract; secondly, when used with customized contract, determine the use of party is dynamic; finally, when the party does not have the dynamic class, generated according to the dynamic contract use the configuration information, dynamic class loading, to use the output data of contract. Compared with the prior art, solves the problem of a code corresponding to a contract, according to different use, a different set of customized contracts, data content output can thus be customized different; convenient maintenance and convenient maintenance of different code to use contract, reduce maintenance costs to improve the efficiency of information communication.

【技术实现步骤摘要】
基于代码文档对象模型、对象生成器动态生成类的方法
本专利技术涉及信息
,具体涉及一种基于代码文档对象模型、对象生成器动态生成类的方法。
技术介绍
随着科技的发展,不同国家之间的联系变得紧密、频繁,随之而来的国际业务也变得日益增长。然而,商业信息的保密性也变成了日益受到重视的问题。现有技术中利用IT(信息技术)技术进行的国际业务中,为了提高商业信息的保密水平,采用了多种技术方案;然而,目前考虑到代码的可维护性、复用性等的局限性,如果仅通过传统的代码判断方式为不同地区、不同国际的使用方提供相关信息时,针对每个国家或地区在每次使用时都需要改动代码进行发布,增加了代码操作时产生的工作量、并大大降低了信息的通讯效率。
技术实现思路
本专利技术的目的在于为了解决由于现有技术中代码的可维护性、复用性等的局限性,利用传统的代码判断方式能够灵活、方便地实现对多个不同的使用方输出不同的数据等问题的出现;提供一种基于代码文档对象模型、对象生成器动态生成类的方法。为了达到上述目的,本专利技术通过以下技术方案实现:一种基于代码文档对象模型、对象生成器生成动态类的方法,方法包含:判断使用方是否具有定制化契约;所述定制化契约包含契约配置信息,所述契约配置信息是允许输出至所述使用方的数据类型明细;当所述使用方具有所述定制化契约时,判断所述使用方是否具有动态类;当所述使用方不具有所述动态类时,根据所述使用方的所述契约配置信息生成动态类,加载所述动态类,向所述使用方输出契约数据;所述契约数据为将所述使用方的使用方请求信息进行定制化过滤后的信息。较佳地,在判断使用方是否具有定制化契约的步骤中:获取所述使用方的应用接口访问密钥;依据所述应用接口访问密钥查找所述使用方是否具有所述定制化契约。较佳地,在当所述使用方具有所述定制化契约时,判断所述使用方是否具有动态类的步骤中:依据所述使用方的所述应用接口访问密钥在发送方的程序集缓存中查找所述使用方是否存在所述动态类。较佳地,在当所述使用方不包含所述动态类时,根据所述使用方的契约配置生成动态类,加载所述动态类,向所述使用方输出契约数据的步骤中:从所述定制化契约中获取所述使用方的所述契约配置信息;根据所述使用方的所述应用接口访问密钥、所述契约配置信息生成所述动态类;将所述动态类加载至所述程序集,根据所述动态类与所述使用方请求信息生成所述契约数据发送至所述使用方。较佳地,在判断使用方是否具有定制化契约的步骤之后,所述方法还包含:当所述使用方不具有所述定制化契约时,向所述使用方输出完整的所述使用方请求信息。较佳地,在判断所述使用方是否具有动态类的步骤之后,所述方法还包含:当所述使用方具有所述动态类时,将所述动态类加载至所述程序集,根据所述动态类与所述使用方请求信息生成所述契约数据发送至所述使用方。较佳地,在判断使用方是否具有定制化契约的步骤之前,所述方法还包含:维护每个所述使用方的使用方配置表;所述使用方配置表包含:使用方身份信息、所述应用接口访问密钥、是否需要所述定制化契约、当需要所述定制化契约时具体要求的所述契约配置信息;当所述使用方需要所述定制化契约时,根据所述使用方配置表,所述基于代码文档对象模型生成所述定制化契约。较佳地,根据所述使用方的所述应用接口访问密钥、所述契约配置信息,采用所述对象生成器生成所述动态类。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本专利技术各较佳实例。本专利技术的积极进步效果在于:本专利技术公开的一种基于代码文档对象模型、对象生成器生成动态类的方法:首先,判断使用方是否具有定制化契约;其次,当使用方具有定制化契约时,判断使用方是否具有动态类;最后,当使用方不具有动态类时,根据使用方的契约配置信息生成动态类,加载动态类,向使用方输出契约数据。本专利技术相比于现有技术,解决了现有技术中一份代码对应一份契约的问题,针对不同的使用方,设定了不同的定制化契约,因而可以定制化的输出不同的数据内容;极大的方便维护代码、也方便维护不同的使用方契约,降低了维护成本,提高了信息通讯效率。附图说明图1为本专利技术基于代码文档对象模型、对象生成器生成动态类的方法的整体流程示意图。图2为本专利技术基于代码文档对象模型、对象生成器生成动态类的方法的实施例示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1如图1所示,一种基于代码文档对象模型、对象生成器生成动态类的方法包含:S1,判断使用方是否具有定制化契约。其中,定制化契约包含契约配置信息,契约配置信息是允许输出至使用方的数据类型明细。本实施例中,采用代码文档对象模型(CodeDom)生成定制化契约。S2,当使用方具有定制化契约时,判断使用方是否具有动态类。S3,当使用方不具有动态类时,根据使用方的契约配置信息生成动态类,加载动态类,向使用方输出契约数据。其中,契约数据为将使用方请求信息进行定制化过滤后的信息。本实施例中,采用对象生成器(Emit)生成动态类。本实施例公开的一种基于代码文档对象模型、对象生成器生成动态类的方法,首先,判断使用方是否具有定制化契约;其次,当使用方具有定制化契约时,判断使用方是否具有动态类;最后,当使用方不具有动态类时,根据使用方的契约配置信息生成动态类,加载动态类,向使用方输出契约数据。实现了对不同使用方设定不同的定制化契约,进而生成相应的动态类,最后为不同的使用方输出契约数据,提高了商业信息的保密性,并且提高了信息维护的效率、提高了信息通讯效率。实施例2如图2所示,一种基于代码文档对象模型、对象生成器生成动态类的方法包含:S0,维护每个使用方的使用方配置表。本实施例中,使用方配置表包含:使用方身份信息、应用接口访问密钥、是否需要定制化契约、当需要定制化契约时具体要求的契约配置信息。当使用方需要定制化契约时,根据使用方配置表,基于代码文档对象模型(CodeDom)生成定制化契约。本实施例中,具体CodeDom的操作代码如下:本实施例中,首先利用线下维护配置模块对使用方的使用方身份信息、应用接口访问密钥以及当需要定制化契约时具体要求的契约配置信息进行维护。其次,利用代码文档对象模型(CodeDom)为每个使用方生成对应的定制化契约。S1,判断使用方是否具有定制化契约。步骤S1具体包含:S1.1,发送方获取使用方的应用接口访问密钥(ApiKey)。S1.2,依据应用接口访问密钥(ApiKey),发送方查找使用方是否具有定制化契约。本实施例中,定制化契约包含契约配置信息,契约配置信息是允许输出至使用方的数据类型明细。例如,对于第一使用方,第一使用方的契约配置信息中允许输出A、B、C、D、E五个关键字段及其相关的信息;对于第二使用方,第二使用方的契约配置信息中允许输出A、B、C、D四个关键字段及其相关的信息;对于第三使用方,第三使用方的契约配置信息中仅允许输出B、C两个关键字段及其相关的信息。S4,当使用方不具有定制化契约时,向使用方输出完整的使用方请求信息。例如,当第四使用方中不具有定制化契约时,表本文档来自技高网...
基于代码文档对象模型、对象生成器动态生成类的方法

【技术保护点】
一种基于代码文档对象模型、对象生成器生成动态类的方法,其特征在于,方法包含:判断使用方是否具有定制化契约;所述定制化契约包含契约配置信息,所述契约配置信息是允许输出至所述使用方的数据类型明细;当所述使用方具有所述定制化契约时,判断所述使用方是否具有动态类;当所述使用方不具有所述动态类时,根据所述使用方的所述契约配置信息生成动态类,加载所述动态类,向所述使用方输出契约数据;所述契约数据为将所述使用方的使用方请求信息进行定制化过滤后的信息。

【技术特征摘要】
1.一种基于代码文档对象模型、对象生成器生成动态类的方法,其特征在于,方法包含:判断使用方是否具有定制化契约;所述定制化契约包含契约配置信息,所述契约配置信息是允许输出至所述使用方的数据类型明细;当所述使用方具有所述定制化契约时,判断所述使用方是否具有动态类;当所述使用方不具有所述动态类时,根据所述使用方的所述契约配置信息生成动态类,加载所述动态类,向所述使用方输出契约数据;所述契约数据为将所述使用方的使用方请求信息进行定制化过滤后的信息。2.如权利要求1所述的基于代码文档对象模型、对象生成器生成动态类的方法,其特征在于,在判断使用方是否具有定制化契约的步骤中:获取所述使用方的应用接口访问密钥;依据所述应用接口访问密钥查找所述使用方是否具有所述定制化契约。3.如权利要求2所述的基于代码文档对象模型、对象生成器生成动态类的方法,其特征在于,在当所述使用方具有所述定制化契约时,判断所述使用方是否具有动态类的步骤中:依据所述使用方的所述应用接口访问密钥在发送方的程序集缓存中查找所述使用方是否存在所述动态类。4.如权利要求3所述的基于代码文档对象模型、对象生成器生成动态类的方法,其特征在于,在当所述使用方不包含所述动态类时,根据所述使用方的契约配置生成动态类,加载所述动态类,向所述使用方输出契约数据的步骤中:从所述定制化契约中获取所述使用方的所述契约配置信息;根据所述使用方的所述应用接口访问密钥、...

【专利技术属性】
技术研发人员:宋有明
申请(专利权)人:携程旅游信息技术上海有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1