专利名称:用于数据库元模型的类行为加载方法
技术领域:
本发明涉及数据库领域,具体而言,涉及一种用于数据库元模型的类行为加载方 法。
背景技术:
在对企业设计的产品数据进行管理时,可以将一组相似的对象抽象为类,用来表 示特定的业务对象,如产品,零部件,文档等。在这些不同的类之间可以实现不同的类行为, 用于对不同的类进行不同的业务操作,不同的类之间也可能会使用相同的公共行为。在实现本发明过程中,发明人发现现有技术中信息系统对于这些类的行为是通过 硬编码的方式将各种行为绑定到类中,当客户需要对类行为进行重新定义时,需要重新编 写代码才能实现,而且不能公用公共行为。
发明内容
本发明旨在提供一种用于数据库元模型的类行为加载方法,能够解决现有技术中 信息系统对于这些类的行为是通过硬编码的方式将各种行为绑定到类中,当客户需要对类 行为进行重新定义时,需要重新编写代码才能实现,而且不能公用公共行为的问题。在本发明的实施例中,提供了一种用于数据库元模型的类行为加载方法,包括以 下步骤从元模型定义中加载类行为,其中,类行为为相关操作的组合;根据类行为的类型,执行其相应的函数。优选地,在上述用于数据库元模型的类行为加载方法中,根据所述类行为的类型, 执行其相应的函数具体包括如果类行为为DLL (Dynamic Link Library,动态链接库)类 型,从元模型中获取类行为的DLL文件名和函数名;加载DLL文件,执行其对应的函数。优选地,在上述用于数据库元模型的类行为加载方法中,还包括以下步骤如果类 行为为脚本类型,从元模型中获取类行为的脚本文件名和函数名;通过脚本引擎加载类行 为的脚本文件并执行其对应的函数。优选地,在上述用于数据库元模型的类行为加载方法中,类行为由用户或行为传 播触发。优选地,在上述用于数据库元模型的类行为加载方法中,类行为以 XML(Extensible Markup Language,可扩展标i己i吾言)文件存储。在上述实施例中,通过一种用于数据库元模型的类行为加载方法,从元模型定义 中加载类行为,根据类行为的类型,加载对应的函数,并执行相应的操作。克服了现有技术 中信息系统对于这些类的行为是通过硬编码的方式将各种行为绑定到类中,当客户需要对 类行为进行重新定义时,需要重新编写代码才能实现,而且不能公用公共行为的问题,进而 达到了将类行为设计为可定义的,将界面与实现分离,可以动态加载类行为,不同的类可以 使用相同的公共行为的技术效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出了根据本发明一个实施例的用于数据库元模型的类行为加载方法流程 图;图2示出了根据本发明一个实施例的支持类行为加载的处理流程图。
具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。图1示出了根据本发明一个实施例的用于数据库元模型的类行为加载方法流程 图,包括以下步骤S102,从元模型定义中加载类行为,其中,类行为为相关操作的组合;S104,根据类行为的类型,执行其相应的函数。在本实施例中,从元模型定义中加载类行为,同一个类可以实现不同的行为,根据 类行为的类型,加载对应的函数,并执行相应的操作,通过使用该方法可以重新定义类行为 而不需要重新编写代码,从而解决了现有技术中信息系统对于这些类的行为是通过硬编码 的方式将各种行为绑定到类中,当客户需要对类行为进行重新定义时,需要重新编写代码 才能实现,而且不能公用公共行为的问题。优选地,在上述用于数据库元模型的类行为加载方法中,根据所述类行为的类型, 执行其相应的函数具体包括如果类行为为DLL类型,从元模型中获取类行为的DLL文件名 和函数名;加载DLL文件,执行其对应的函数。优选地,在上述用于数据库元模型的类行为加载方法中,还包括以下步骤如果类 行为为脚本类型,从元模型中获取类行为的脚本文件名和函数名;通过脚本引擎加载类行 为的脚本文件并执行其对应的函数。优选地,在上述用于数据库元模型的类行为加载方法中,类行为由用户或行为传 播触发。优选地,在上述用于数据库元模型的类行为加载方法中,类行为以XML文件存储, 通过XML表达元模型,用户可以定义简单或复杂的类、属性、行为等,这是在数据库表中存 储元模型难以实现的,同时可以充分发挥XML的可扩展性,跨系统、跨平台的特点,有效促 进系统间的交互与协作。图2示出了根据本发明一个实施例的支持类行为加载的处理流程图,包括以下步 骤S201,判断是否定义类行为,如果是,直接进入步骤S202,如果否,直接结束流程;S202,判断类型为是否为DLL类型,如果是,直接进入步骤S203,如果否,直接进入 步骤S205 ;S203,类行为为DLL类型,从元模型定义中获取类行为的DLL文件名和函数名,并 执行步骤S204 ;S204,加载DLL文件,执行函数,返回;
S205,从元模型定义中获取类行为的脚本文件名和函数名,并执行步骤S206 ;S206,通过脚本引擎加载类行为的脚本文件并执行其对应的函数,返回。在上述实施例中,通过一种用于数据库元模型的类行为加载方法,从元模型定义 中加载类行为,根据类行为的类型,加载对应的函数,并执行相应的操作。其中,元模型定义 将一些相关的操作定义为一个行为,每个行为有多个方法,一个方法对应于一个操作,对于 每个行为可以定义自己的属性,一个行为可以附加到多个类上,并且同一个类可以实现不 同的行为,因此CAXA EAP系统提供一种方法,可以由参与实施工作的技术人员或者用户在 系统应用过程中通过元模型定义行为,以符合用户习惯,甚至可以在不对源代码做任何修 改编译的情况下,新增行为或修改行为,来实现新功能。从以上的描述中,可以看出,本发明上述的实施例实现了如下技术效果将类行为 设计为可定义的,将界面与实现分离,可以动态加载类行为,不同的类可以使用相同的公共 行为,让系统更加灵活,类的各种行为,可以由实施技术人员,甚至用户来制定,另外,使系 统功能的实现可以像搭积木一样进行累加。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种用于数据库元模型的类行为加载方法,其特征在于,包括以下步骤从元模型定义中加载类行为,其中,所述类行为为相关操作的组合;根据所述类行为的类型,执行其相应的函数。
2.根据权利要求1所述的类行为加载方法,其特征在于,根据所述类行为的类型,执行 其相应的函数具体包括如果所述类行为为DLL类型,从所述元模型中获取所述类行为的DLL文件名和函数名;加载所述DLL文件,执行其对应的函数。
3.根据权利要求2所述的类行为加载方法,其特征在于,还包括以下步骤如果所述类行为为脚本类型,从所述元模型中获取所述类行为的脚本文件名和函数名;通过脚本引擎加载所述类行为的脚本文件并执行其对应的函数。
4.根据权利要求1所述的类行为加载方法,其特征在于,所述类行为由用户或行为传 播触发。
5.根据权利要求1所述的类行为加载方法,其特征在于,所述类行为以XML文件存储。
全文摘要
本发明提供了一种用于数据库元模型的类行为加载方法,包括以下步骤从元模型定义中加载类行为,其中,类行为为相关操作的组合;根据类行为的类型,执行其相应的函数。本发明克服了现有技术中信息系统对于这些类的行为是通过硬编码的方式将各种行为绑定到类中,当客户需要对类行为进行重新定义时,需要重新编写代码才能实现,而且不能公用公共行为的问题。
文档编号G06F17/30GK101963901SQ200910089798
公开日2011年2月2日 申请日期2009年7月24日 优先权日2009年7月24日
发明者付德平, 刘开飞, 韦延民 申请人:北京数码大方科技有限公司