一种脚本封装方法和装置以及脚本运行方法和装置与流程

文档序号:12718848阅读:来源:国知局

技术特征:

1.一种脚本封装方法,其特征在于,包括:

接收外部发送的至少一个模块参数,每一个所述模块参数中包括:模块的名称、至少一个所述模块所依赖的模块的名称;

针对每一个所述模块参数,根据当前模块参数,创建当前模块对象,所述当前模块对象中包括:所述当前模块对象的名称、至少一个所述当前模块对象所依赖的模块对象的名称;

在每一个所述模块对象中,定义至少一个类;

根据至少一个所述模块对象和每一个所述模块对象中所述至少一个类,生成目标脚本。

2.根据权利要求1所述的方法,其特征在于,

所述在每一个所述模块对象中,定义至少一个类,包括:

在目标模块对象中,接收外部发送的针对所述目标模块对象的至少一个目标类参数,每一个所述目标类参数中包括:目标基类、目标类的名称、所述目标类的继承关系和所述目标类的依赖关系;

针对每一个所述目标类参数,根据当前目标类参数中的所述目标基类、所述目标类的名称、所述目标类的继承关系和所述目标类的依赖关系,在所述目标模块对象中,定义当前目标类。

3.一种脚本封装装置,其特征在于,包括:

模块定义接口,用于接收外部发送的至少一个模块参数,每一个所述模块参数中包括:模块的名称、至少一个所述模块所依赖的模块的名称;针对每一个所述模块参数,根据当前模块参数,创建当前模块对象,所述当前模块对象中包括:所述当前模块对象的名称、至少一个所述当前模块对象所依赖的模块对象的名称;

类定义接口,用于在所述模块定义接口创建的每一个所述模块对象中,定义至少一个类;

生成接口,用于根据所述模块定义接口创建的所述至少一个模块对象和每一个所述模块对象中所述类定义接口定义的所述至少一个类,生成目标脚本。

4.根据权利要求3所述的脚本封装装置,其特征在于,

所述类定义接口,用于在目标模块对象中,接收外部发送的针对所述目标模块对象的至少一个目标类参数,每一个所述目标类参数中包括:目标基类、目标类的名称、所述目标类的继承关系、所述目标类的依赖关系;针对每一个所述目标类参数,根据当前目标类参数中的所述目标基类、所述目标类的名称和所述目标类的继承关系和所述目标类的依赖关系,在所述目标模块对象中,定义当前目标类。

5.一种脚本运行方法,其特征在于,预先创建至少一个模块对象,每一个所述模块对象中包括:当前模块对象的名称、至少一个所述当前模块对象所依赖的模块对象的名称;预先在每一个所述模块对象中,定义至少一个类;根据所述至少一个模块对象和每一个所述模块对象中所述至少一个类,生成目标脚本,还包括:

接收外部发送的针对所述目标脚本的目标模块对象的名称;

根据所述目标模块对象的名称,在所述至少一个模块对象中确定所述目标模块对象;

根据所述目标模块对象和至少一个所述目标模块对象所依赖的模块对象的名称,确定待处理的模块对象;

对每一个所述待处理的模块对象中的每一个类进行实例化。

6.根据权利要求5所述的方法,其特征在于,

所述根据所述目标模块对象和至少一个所述目标模块对象所依赖的模块对象的名称,确定待处理的模块对象,包括:

S1:建立模块加载栈;

S2:将所述目标模块对象作为当前待处理的模块对象;

S3:将所述当前待处理的模块对象添加到所述模块加载栈,将所述模块加载栈中的模块对象作为待处理的模块对象;

S4:确定所述当前待处理的模块对象所依赖的模块对象的名称;

S5:根据所述当前待处理的模块对象所依赖的模块对象的名称,判断所述当前待处理的模块对象所依赖的模块对象是否均在所述模块加载栈中,如果是,则结束当前流程,否则,执行S6;

S6:将所述当前待处理的模块对象所依赖的模块对象中不在所述模块加载栈中的模块对象作为所述当前待处理的模块对象,返回S3。

7.根据权利要求6所述的方法,其特征在于,

所述对每一个所述待处理的模块对象中的每一个类进行实例化,包括:

从所述模块加载栈的栈顶开始,依次对每一个所述待处理的模块对象中的每一个类进行实例化。

8.一种脚本运行装置,其特征在于,包括:模块定义接口、类定义接口、生成接口和应用程序启动接口;

所述模块定义接口,用于创建至少一个模块对象,每一个所述模块对象中包括:当前模块对象的名称、至少一个所述当前模块对象所依赖的模块对象的名称;

所述类定义接口,用于在所述模块定义接口创建的每一个所述模块对象中,定义至少一个类;

所述生成接口,用于根据所述模块定义接口创建的所述至少一个模块对象和每一个所述模块对象中所述类定义接口定义的所述至少一个类,生成目标脚本;

所述应用程序启动接口,包括:

接收单元,用于接收外部发送的针对所述生成接口生成的所述目标脚本的目标模块对象的名称;

确定单元,用于根据所述接收单元接收的所述目标模块对象的名称,在所述至少一个模块对象中确定所述目标模块对象;

处理单元,用于根据所述确定单元确定的所述目标模块对象和至少一个所述目标模块对象所依赖的模块对象的名称,确定待处理的模块对象;

实例化单元,用于对所述处理单元确定的每一个所述待处理的模块对象中的每一个类进行实例化。

9.根据权利要求8所述的脚本运行装置,其特征在于,

所述处理单元,包括:

建立子单元,用于建立模块加载栈;

执行子单元,用于将所述目标模块对象作为当前待处理的模块对象;

添加子单元,用于将所述执行子单元确定的所述当前待处理的模块对象添加到所述建立子单元建立的所述模块加载栈,将所述模块加载栈中的模块对象作为待处理的模块对象;

确定子单元,用于确定所述添加子单元中所述当前待处理的模块对象所依赖的模块对象的名称;

判断子单元,用于根据所述确定子单元确定的所述当前待处理的模块对象所依赖的模块对象的名称,判断所述当前待处理的模块对象所依赖的模块对象是否均在所述模块加载栈中,如果是,则结束当前流程,否则,触发处理子单元;

所述处理子单元,用于将所述当前待处理的模块对象所依赖的模块对象中不在所述模块加载栈中的模块对象作为所述当前待处理的模块对象,触发所述添加子单元。

10.根据权利要求9所述的脚本运行装置,其特征在于,

所述实例化单元,用于从所述模块加载栈的栈顶开始,依次对每一个所述待处理的模块对象中的每一个类进行实例化。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1