[发明专利]程序开发方法和装置在审
申请号: | 202010603603.6 | 申请日: | 2020-06-29 |
公开(公告)号: | CN113778388A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 宋振亮 | 申请(专利权)人: | 北京京东拓先科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张效荣;王志远 |
地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 开发 方法 装置 | ||
1.一种程序开发方法,其特征在于,包括:
在应用程序源代码中,利用自定义注解标注预先创建、并且实现同一功能接口的多个策略类;其中,每一自定义注解包括注解名称和作为注解类型元素数据的预设枚举值,标注在任意两个策略类的自定义注解具有同一注解名称和不同的枚举值;
在所述应用程序启动时,实例化所述多个策略类;通过所述注解名称获取每一策略类实例,并将每一策略类实例与标注该策略类的自定义注解中的枚举值之间的映射关系加载到内存;以及
在接收到调用所述功能接口的客户端请求时,利用客户端请求携带的参数确定客户端请求对应的枚举值,依据内存中的所述映射关系获取该枚举值对应的策略类实例,执行该策略类实例中的预设方法。
2.根据权利要求1所述的程序开发方法,其特征在于,所述程序开发方法进一步包括:
在利用所述自定义注解标注所述策略类之前,创建枚举类,并在该枚举类中定义每一自定义注解中的枚举值。
3.根据权利要求1所述的程序开发方法,其特征在于,所述将每一策略类实例与标注该策略类的自定义注解中的枚举值之间的映射关系加载到内存,包括:
将所述映射关系存储到预先创建的map集合。
4.根据权利要求2所述的程序开发方法,其特征在于,每一策略类用于实现所述功能接口下的一种业务类型;以及,所述程序开发方法进一步包括:当需要扩展所述功能接口下的一种新业务类型时:
在应用程序源代码中创建新业务类型对应的、并且实现所述功能接口的新策略类,在所述枚举类中增加新枚举值;
利用含有新枚举值的自定义注解标注新策略类;其中,该自定义注解与实现所述功能接口的其它策略类的自定义注解具有相同的注解名称;以及
在所述应用程序启动时,实例化实现所述功能接口的每一策略类;通过所述注解名称获取每一策略类实例,并将每一策略类实例与标注该策略类的自定义注解中的枚举值之间的映射关系存储到预先创建的map集合。
5.根据权利要求1所述的程序开发方法,其特征在于,所述多个策略类实现所述功能接口,包括:
所述多个策略类直接实现所述功能接口;或者
所述多个策略类通过预先创建的抽象类实现所述功能接口;其中,所述抽象类直接实现所述功能接口,所述多个策略类继承所述抽象类。
6.根据权利要求5所述的程序开发方法,其特征在于,所述程序开发方法进一步包括:
当需要在所述多个策略类中的第一策略类实现第一方法、并且不需要在所述多个策略类中的其它策略类实现第一方法时,在所述抽象类定义第一方法或者第一方法对应的抽象方法。
7.一种程序开发装置,其特征在于,包括:
标注单元,用于:在应用程序源代码中,利用自定义注解标注预先创建、并且实现同一功能接口的多个策略类;其中,每一自定义注解包括注解名称和作为注解类型元素数据的预设枚举值,标注在任意两个策略类的自定义注解具有同一注解名称和不同的枚举值;
映射加载单元,用于:在所述应用程序启动时,实例化所述多个策略类;通过所述注解名称获取每一策略类实例,并将每一策略类实例与标注该策略类的自定义注解中的枚举值之间的映射关系加载到内存;以及
请求处理单元,用于:在接收到调用所述功能接口的客户端请求时,利用客户端请求携带的参数确定客户端请求对应的枚举值,依据内存中的所述映射关系获取该枚举值对应的策略类实例,执行该策略类实例中的预设方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东拓先科技有限公司,未经北京京东拓先科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010603603.6/1.html,转载请声明来源钻瓜专利网。