System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 软件开发工具包、其构建方法和切片方法及装置制造方法及图纸_技高网

软件开发工具包、其构建方法和切片方法及装置制造方法及图纸

技术编号:40841738 阅读:4 留言:0更新日期:2024-04-01 15:08
本发明专利技术揭示了一种软件开发工具包、其构建方法和切片方法及装置,其对切片的范围进行了限定,包括可以切片的类的限定和不可用于切片的方法的限定,另外还提供了可选的切片点和可选的切片逻辑,使得调用者可以方便地根据提供的切片点和可选的切片逻辑完成对应的抽象实现,既不需要因为切片更改已封包的软件开发工具包、不需要关注调用者做怎样的修改,同时也降低了调用者的能力的需求,使得切片的过程可以更灵活和简便,软件开发工具包更便于切片使用。

【技术实现步骤摘要】

本专利技术涉及软件开发领域,尤其涉及一种软件开发工具包、其构建方法和切片方法及装置


技术介绍

1、对于已经完成封包的软件开发工具包而言,仅凭预制的抽象调动不足以满足各种业务需求,面向切面编程(aop,aspect oriented programming)对此是一个很好的补充,可以将复杂的需求分解为不同的切面,然后对切面对象进行编程。

2、但是,在实现本专利技术过程中,专利技术人发现现有技术存在如下问题:

3、强行切片属于动态改变能力,一方面执行效率不佳,具体体现在类中的所有方法既不是都能被切片,也不是都需要被切片,例如静态方法、私有方法、构造方法等都不应该被切片,另外如果对所有的类都生成用于切片的辅助类,则会导致应用程序的体积膨胀得过大;另一方面不同的开发者的能力参差不齐,可能出现不适宜的切片带来不理想的后果的问题。

4、所以,现有的切片方法和软件开发工具包都不能很好的满足需求。


技术实现思路

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、与现有技术相比,本专利技术具有以下有益效果:该软件开发工具包、其构建方法和切片方法及装置对切片的范围进行了限定,包括可以切片的类的限定和不可用于切片的方法的限定,另外还提供了可选的切片点和可选的切片逻辑,使得调用者可以方便地根据提供的切片点和可选的切片逻辑完成对应的抽象实现,既不需要因为切片更改已封包的软件开发工具包、不需要关注调用者做怎样的修改,同时也降低了调用者的能力的需求,使得切片的过程可以更灵活和简便,软件开发工具包更便于切片使用。

本文档来自技高网...

【技术保护点】

1.一种软件开发工具包,其特征在于,包括:

2.根据权利要求1所述的软件开发工具包,其特征在于,所述切片辅助类和所述抽象辅助类均通过注解处理工具生成。

3.根据权利要求2所述的软件开发工具包,其特征在于,所述辅助类模块基于所述类注解模块、以及所述类注解模块中没有被所述方法注解模块标定的公开方法生成。

4.根据权利要求3所述的软件开发工具包,其特征在于,所述抽象辅助类分别在方法头部、方法中部和/或方法尾部进行定义。

5.根据权利要求3所述的软件开发工具包,其特征在于,所述切片辅助类包括执行前调用抽象方法、执行后调用抽象方法、判断是否替换抽象方法和启用替换抽象方法。

6.一种软件开发工具包的构建方法,其特征在于,包括如下步骤:

7.根据权利要求6所述的软件开发工具包的构建方法,其特征在于,所述切片辅助类和所述抽象辅助类均通过注解处理工具生成;

8.根据权利要求7所述的软件开发工具包的构建方法,其特征在于,所述抽象辅助类分别在方法头部、方法中部和/或方法尾部进行定义。

9.一种软件开发工具包的切片方法,其特征在于,包括如下步骤:

10.根据权利要求9所述的软件开发工具包的切片方法,其特征在于,所述步骤当扫描到所述辅助类中存在对应实现时,对需被切片的抽象类完成逻辑拦截,并修改为所述对应实现包括:

11.根据权利要求9所述的软件开发工具包的切片方法,其特征在于,还包括步骤:

12.一种软件开发工具包的构建装置,其特征在于,包括:

13.一种软件开发工具包的切片装置,其特征在于,包括:

14.一种电子设备,其特征在于,包括:

15.一种可读存储介质,其存储有计算机程序,其特征在于,该计算机程序被处理模块执行时可实现权利要求6至8中任意一项所述的软件开发工具包的构建方法或权利要求9至11中任意一项所述的软件开发工具包的切片方法中的步骤。

...

【技术特征摘要】

1.一种软件开发工具包,其特征在于,包括:

2.根据权利要求1所述的软件开发工具包,其特征在于,所述切片辅助类和所述抽象辅助类均通过注解处理工具生成。

3.根据权利要求2所述的软件开发工具包,其特征在于,所述辅助类模块基于所述类注解模块、以及所述类注解模块中没有被所述方法注解模块标定的公开方法生成。

4.根据权利要求3所述的软件开发工具包,其特征在于,所述抽象辅助类分别在方法头部、方法中部和/或方法尾部进行定义。

5.根据权利要求3所述的软件开发工具包,其特征在于,所述切片辅助类包括执行前调用抽象方法、执行后调用抽象方法、判断是否替换抽象方法和启用替换抽象方法。

6.一种软件开发工具包的构建方法,其特征在于,包括如下步骤:

7.根据权利要求6所述的软件开发工具包的构建方法,其特征在于,所述切片辅助类和所述抽象辅助类均通过注解处理工具生成;

8.根据权利要求7所述的...

【专利技术属性】
技术研发人员:汤嘉琪李骁
申请(专利权)人:企查查科技股份有限公司
类型:发明
国别省市:

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

1