[发明专利]解决代码中if-else耦合及冗余度高的方法和装置在审
申请号: | 202111468034.X | 申请日: | 2021-12-03 |
公开(公告)号: | CN114237570A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 张正茂 | 申请(专利权)人: | 富盛科技股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 谢明晖 |
地址: | 100071 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解决 代码 if else 耦合 冗余 方法 装置 | ||
本申请涉及计算机技术领域,尤其是涉及一种解决代码中if‑else耦合及冗余度高的方法和装置,包括,获取业务场景的标识;根据所述标识在配置文件中确定与所述标识对应的执行策略,所述配置文件中配置有标识和执行策略的映射关系;根据确定出的所述执行策略调用Spring容器中与其对应的实例对象,本申请可以解决软件开发过程中,项目中存在大量的if‑else代码,造成的耦合性及冗余度高的问题。
技术领域
本申请涉及计算机技术领域,尤其是涉及一种解决代码中if-else耦合及冗余度高的方法和装置。
背景技术
当前软件开发项目普遍存在在某个业务中存在多个场景的情况,例如,某机场的告警业务分为一键告警、消防告警、围界告警和环境告警等,某项目的支付渠道包括微信、支付宝、云闪付和paypail等,各个场景的逻辑不尽相同,往往在我们的业务方法中充斥着大量的if-else代码,而且随着项目的运行,有很大可能会增加额外的业务场景,此时,还需再业务方法中继续增加if-else代码。
发明人认为这个时候的业务方法中充斥着大量的if-else代码,代码的耦合度极高,可阅读性变得很差,且随着人员的变动,往往会增加额外的项目运行成本。
发明内容
为了解决软件开发过程中,项目中存在大量的if-else代码,造成的耦合性及冗余度高的问题,本申请提出了解决代码中if-else耦合及冗余度高的方法和装置。
在本申请的方面,提出了解决代码中if-else耦合及冗余度高的方法,包括,获取业务场景的标识,根据所述标识在配置文件中确定与所述标识对应的执行策略,所述配置文件中配置有标识和执行策略的映射关系;根据确定出的所述执行策略调用Spring容器中与其对应的实例对象。
通过采用上述技术方案,将项目中的每个业务场景编写一个对应的执行策略,将其实例化到Spring容器中,并对每个业务场景设定唯一的标识,在配置文件中配置标识和执行策略的映射关系,在获取到某个业务场景的标识后,首先通过配置文件中的映射关系确定出其对应的执行策略,再根据执行策略去Spring容器中调用相应的实例对象,即可完成代码中原有的if-else的功能替换,可减少if-else代码造成的耦合性以及冗余度高的问题。
可选地,为每个业务场景确定标识,并进行存储。
可选地,为每个业务场景确定相应的执行策略,并实例化到Spring容器。
可选地,在配置文件中配置各个执行策略与标识的映射关系。
在本申请的第二方面,提出了一种解决代码中if-else耦合及冗余度高的装置,包括,获取模块,用于获取业务场景的标识;确定模块,用于根据所述标识在配置文件中确定与所述标识对应的执行策略,所述配置文件中配置有标识和执行策略的映射关系;执行模块,用于根据确定出的所述执行策略调用Spring容器中与其对应的实例对象。
可选地,该装置还包括创建模块,用于为每个业务场景确定标识,并进行存储。
可选地,该装置还包括,实例模块,用于为每个业务场景确定相应的执行策略,并实例化到Spring容器。
可选地,该装置还包括,配置模块,用于在配置文件中配置各个执行策略与标识的映射关系。
在本申请的第三方面,提出了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如上面所述任一项的方法。
在本申请的第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上面所述任一项的方法。
附图说明
结合附图并参考以下详细说明,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富盛科技股份有限公司,未经富盛科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111468034.X/2.html,转载请声明来源钻瓜专利网。