本技术涉及软件开发,尤其涉及一种程序模块的处理方法及装置。
背景技术:
1、目前通过模块化的方式进行软件开发,由开发项目组中的开发人员按照需求开发出多个程序模块,这些程序模块组合实现特定的功能。
2、但是,在开发项目中的某个开发人员接手其他人开发的程序模块时,需要重新梳理其程序代码的组织逻辑,无法快速定位需要修改的代码。
3、因此,亟需一种能够对程序模块进行处理的技术方案,以使得程序模块能够被其他开发人员快速定位需要修改的代码。
技术实现思路
1、有鉴于此,本技术提供一种程序模块的处理方法及装置,如下:
2、一种程序模块的处理方法,应用于电子设备,所述方法包括:
3、加载至少一个目标程序模块的入口文件,所述入口文件用于加载所述目标程序模块;所述目标程序模块中包括至少一个程序子模块、数据定义文件、接口定义文件和配置信息文件;所述目标程序模块能够单独被加载;
4、其中,所述数据定义文件用于生成数据库中的数据表模型,所述数据表模型用于所述目标程序模块实现相应的功能;所述接口定义文件用于生成所述程序子模块的模块接口,所述模块接口用于访问所述程序子模块;所述配置信息文件用于设置所述程序子模块的参数信息;
5、根据所述接口定义文件对应的接口目录信息,生成接口树和模块权限树,所述接口树和所述模块权限树用于处理所述目标程序模块;
6、其中,所述接口目录信息表征所述程序子模块在所述目标程序模块中的功能逻辑关系;所述接口树中所包含的所述程序子模块对应的模块标识呈目标目录结构,所述接口树中的模块标识对应于其所属程序子模块对应的接口定义文件,所述目标目录结构与所述接口目录信息相匹配;
7、且,所述模块权限树中所包含的所述程序子模块的模块标识呈所述目标目录结构。
8、上述方法,优选的,所述方法还包括:
9、接收模块访问请求,所述模块访问请求中包含访问标识,所述访问标识对应于待访问的目标子模块;
10、根据所述访问标识,在所述模块权限树中,获得所述目标子模块对应的目标权限树;
11、将所述目标权限树与所述模块访问请求对应的访问权限树进行比对,以得到比对结果;
12、在所述比对结果表征所述目标权限树与所述访问权限树相匹配的情况下,允许通过目标接口访问所述目标子模块,所述目标接口为所述目标子模块的模块接口。
13、上述方法,优选的,加载至少一个目标程序模块的入口文件,包括:
14、获得模块目录,所述模块目录中包含有待加载的程序模块的模块信息;
15、按照所述模块目录中所述模块信息之间的顺序,加载所述模块信息对应的目标程序模块的入口文件。
16、上述方法,优选的,所述方法还包括:
17、监测所述模块目录中是否被添加有第一信息;
18、在所述模块目录中被添加有第一信息的情况下,加载所述第一信息对应的第一程序模块的入口文件;
19、根据所述第一程序模块所包含的接口定义文件对应的接口目录信息,生成所述第一程序模块对应的接口树和模块权限树。
20、上述方法,优选的,所述方法还包括:
21、监测所述模块目录中是否有第二信息覆盖第三信息;
22、如果有,加载所述第二信息对应的第二程序模块的入口文件;
23、根据所述第二程序模块所包含的接口定义文件对应的接口目录信息,生成所述第二程序模块对应的接口树和模块权限树,所述第二程序模块对应的接口树覆盖所述第三信息对应的第三程序模块对应的接口树,所述第二程序模块对应的模块权限树覆盖所述第三程序模块对应的模块权限树。
24、上述方法,优选的,所述方法还包括:
25、监测所述目标程序模块中是否被添加有第一子模块且所述目标程序模块对应的接口定义文件中被新建有所述第一子模块对应的第一目录信息;
26、如果是,加载所述第一子模块;
27、根据所述第一目录信息,更新所述接口树和所述模块权限树,使得所述接口树中包含所述第一子模块的模块标识且所述第一子模块的模块标识在所述接口树中的目录位置与所述第一子模块在所述目标程序模块中的位置相匹配,且,所述模块权限树中包含所述第一子模块的模块标识且所述第一子模块的模块标识在所述模块权限树中的目录位置与所述第一子模块在所述目标程序模块中的位置相匹配。
28、上述方法,优选的,所述方法还包括:
29、监测所述接口树中是否有第一接口定义文件覆盖第二接口定义文件,所述第二接口定义文件对应于第二子模块;
30、如果有,加载所述第一接口定义文件。
31、上述方法,优选的,所述方法还包括:
32、监测所述目标程序模块中是否有程序子模块被拆分为第三子模块和第四子模块;
33、如果有,加载所述第三子模块对应的接口定义文件和所述第四子模块对应的接口定义文件;
34、更新所述接口树和所述模块权限树,以使得所述接口树中在被拆分的程序子模块对应的目录位置包含所述第三子模块对应的模块标识和所述第四子模块对应的模块标识,且,所述模块权限树中在被拆分的程序子模块对应的目录位置包含所述第三子模块对应的模块标识和所述第四子模块对应的模块标识。
35、上述方法,优选的,所述方法还包括:
36、监测所述目标程序模块中是否有第三子模块和第四子模块被合并;
37、如果有,加载所述第三子模块对应的接口定义文件和所述第四子模块对应的接口定义文件;
38、更新所述接口树和所述模块权限树,以使得所述接口树中所述第三子模块对应的模块标识和所述第四子模块对应的模块标识被合并到同一目录位置,且,所述模块权限树中所述第三子模块对应的模块标识和所述第四子模块对应的模块标识被合并到同一目录位置。
39、一种程序模块的处理装置,应用于电子设备,所述装置包括:
40、模块加载单元,用于加载至少一个目标程序模块的入口文件,所述入口文件用于加载所述目标程序模块;所述目标程序模块中包括至少一个程序子模块、数据定义文件、接口定义文件和配置信息文件;所述目标程序模块能够单独被加载;
41、其中,所述数据定义文件用于生成数据库中的数据表模型,所述数据表模型用于所述目标程序模块实现相应的功能;所述接口定义文件用于生成所述程序子模块的模块接口,所述模块接口用于访问所述程序子模块;所述配置信息文件用于设置所述程序子模块的参数信息;
42、树生成单元,用于根据所述接口定义文件对应的接口目录信息,生成接口树和模块权限树,所述接口树和所述模块权限树用于处理所述目标程序模块;
43、其中,所述接口目录信息表征所述程序子模块在所述目标程序模块中的功能逻辑关系;所述接口树中所包含的所述程序子模块对应的模块标识呈目标目录结构,所述接口树中的模块标识对应于其所属程序子模块对应的接口定义文件,所述目标目录结构与所述接口目录信息相匹配;
44、且,所述模块权限树中所包含的所述程序子模块的模块标识呈所述目标目录结构。
45、从上述技术方案可以看出,本技术提供的一种程序模块的处理方法及装置,在开发完成的程序模块中包含有入口文件、程序子模块、数据定义文件、接口定义文件和配置信息文件,这样在电子设备上加载程序模块时,通过加载入口文件实现程序模块的加载,而且,数据定义文件用于生成数据库中的数据表模型,而数据表模型用于目标程序模块实现相应的功能,接口定义文件用于生成程序子模块的模块接口,模块接口用于访问程序子模块;配置信息文件用于设置程序子模块的参数信息;另外,还根据接口定义文件对应的接口目录信息,生成接口树和模块权限树,由此,通过接口树和模块权限树用于处理目标程序模块。具体的,接口目录信息表征程序子模块在程序模块中的功能逻辑关系;接口树中所包含的程序子模块对应的模块标识呈目标目录结构,接口树中的模块标识对应于其所属程序子模块对应的接口定义文件,目标目录结构与接口目录信息相匹配,模块权限树中所包含的程序子模块的模块标识呈目标目录结构。可见,本技术中针对程序模块生成的接口树和模块权限树呈表征程序子模块在程序模块中的功能逻辑关系的目录结构,由此,在需要访问某个程序子模块时,开发人员无需重新梳理其程序代码的组织逻辑,就可以通过接口树和模块权限树快速定位到需要访问的程序子模块,由此,提高开发效率。