CN110795091B - 一种模块化路由解耦方法、存储介质、电子设备及*** - Google Patents

一种模块化路由解耦方法、存储介质、电子设备及*** Download PDF

Info

Publication number
CN110795091B
CN110795091B CN201810859708.0A CN201810859708A CN110795091B CN 110795091 B CN110795091 B CN 110795091B CN 201810859708 A CN201810859708 A CN 201810859708A CN 110795091 B CN110795091 B CN 110795091B
Authority
CN
China
Prior art keywords
decoupling
interface
implementation
classes
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810859708.0A
Other languages
English (en)
Other versions
CN110795091A (zh
Inventor
郑吉鹏
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fengxiang Information Technology Co ltd
Original Assignee
Shenzhen Fengxiang Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Fengxiang Information Technology Co ltd filed Critical Shenzhen Fengxiang Information Technology Co ltd
Priority to CN201810859708.0A priority Critical patent/CN110795091B/zh
Publication of CN110795091A publication Critical patent/CN110795091A/zh
Application granted granted Critical
Publication of CN110795091B publication Critical patent/CN110795091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种模块化路由解耦方法、存储介质、电子设备及***,涉及计算机技术领域,该方法包括区分待编写程序的需要实现各个功能,为每一功能编写一个实现类。在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用。根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件。根据接口策略文件,对实现类进行解耦,生成完整的程序。

Description

一种模块化路由解耦方法、存储介质、电子设备及***
技术领域
本发明涉及计算机技术领域,具体涉及一种模块化路由解耦方法、存储介质、电子设备及***。
背景技术
近年来,企业业务越来越复杂,随着企业信息化的不断发展,各业务应用集成越来越紧密,软件***内部核心业务代码和非业务的代码(如锁处理、审计处理、异常日志、事物处理等)往往掺杂在一起,这样不仅给维护工作带来了很多麻烦,而且也不利于这些非业务的公共组件的重复使用,亟需发明一种新的机制来应对。
同时,随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。
但是用户依旧不满意,继续对开发人员提出了更多更高的要求,不仅需要高质量的用户体验,还要求快速迭代,最好一天出一个新功能,而且用户还要求不更新就能体验到新功能。为了满足用户需求,于是开发人员就用H5,ReactNative,Weex等技术对已有的项目进行改造。项目架构也变得更加的复杂,纵向的会进行分层,网络层,UI层,数据持久层。每一层横向的也会根据业务进行组件化。
现有技术中,OOP可以解决部分问题,但是OOP定义的是从上到下的关系,但并不适合定义从左到右的关系。例如日志功能,志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。译
基于此,人们开发了一种AOP框架,能够将这些非核心业务的公共层面抽取出来,在需要的时候切入到代码中完成任务。从而降低了业务核心代码和非业务核心代码的耦合度,有效解决健壮性低的缺点。
但是AOP通过APT生成路由表的类是通过DexFile加载,有几率加载失败导致后续加载无法继续进行,如果使用异步加载的方式加载路由表,在根据路由表找组件时,可能出现无法找到组件的情况影响程序的使用。此外AOP注入的方式对编译的负担过重,组成路由十分耗费资源。因此亟须一种应用开发方式,实现更轻松的组件解耦。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种模块化路由解耦方法、存储介质、电子设备及***,能够利用Java SPI机制在编译时期生成接口和实现类关系映射,并进一步生成路由表,实现组件之间的解耦耗费资源小,且稳定安全不易出错。
第一方面,本发明实施例提供一种模块化路由解耦方法,应用于基于Java SPI机制的程序实现类的解耦,其包括:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序。
优选的,根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件。
优选的,根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
优选的,根据接口策略文件和实现类进行编译,得到完整的程序具体包括以下步骤:
读取配置文件,获取实现类的全名称字符串;
通过Java反射机制构造实现类的实例,完成编译。
第二方面,本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序。
在上述技术方案的基础上,根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件。
优选的,根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
优选的,根据接口策略文件和实现类进行编译,得到完整的程序具体包括以下步骤:
读取配置文件,获取实现类的全名称字符串;
通过Java反射机制构造实现类的实例,完成编译。
第三方面,本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序。
优选的,根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件。
优选的,根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
在上述技术方案的基础上,根据接口策略文件和实现类进行编译,得到完整的程序具体包括以下步骤:
读取配置文件,获取实现类的全名称字符串;
通过Java反射机制构造实现类的实例,完成编译。
第四方面,本发明还提供一种模块化路由解耦***,其包括:
编写模块,用于区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
接口模块,用于在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
链接模块,用于根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
解耦模块,用于根据接口策略文件,对实现类进行解耦,生成完整的程序。
在上述技术方案的基础上,所述链接模块包括:
需求获取子模块,用于根据程序运行逻辑,获取实现类之间解耦需求;
Java注解子模块,用于根据在每个实现类上添加Java注解;
接口策略子模块,用于根据java注解生成接口策略文件。
在上述技术方案的基础上,所述接口策略子模块包括:
映射单元,用于根据Java注解,获取实现类的接口之间的映射关系;
缓存单元,用于根据映射关系生成接口策略文件,存储该接口策略文件。
在上述技术方案的基础上,所述解耦模块包括:
读取子模块,用于读取配置文件,获取实现类的全名称字符串;
编译子模块,用于通过Java反射机制构造实现类的实例,完成编译。
与现有技术相比,本发明的优点在于:
本发明基于Java SPI机制,将程序各个功能组件化,并在为组件化的实现类添加接口,在SPI机制下,会在编译期将接口和实现类的关系映射出来,然后运行时利用映射生成路由表/接口策略文件,这种映射耗费***资源少,同时是根据已有的实现类和接口进行映射生成路由表/接口策略文件,不会出现无法找到组件和或者加载失败的情况,更加安全和稳定。同时在运行时后,路由表/接口策略文件会进行缓存,每次需要路由表/接口策略文件时候,只需要调用缓存即可,即只需一次性根据映射生成路由表,不需要运行时候重复生成,节省了时间,提高了效率。同时将程序组件化后,程序切面上进行编写程序员能够更加轻松的编写各个组件化的实现类的独立功能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种模块化路由解耦方法的流程示意图;
图2为本发明实施例一种模块化路由解耦***的结构示意图。
图中:1-编写模块,2-接口模块,3-链接模块,4-解耦模块。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
参见图1所示,本发明实施例提供一种模块化路由解耦方法、存储介质、电子设备及***,其通过基于Java SPI机制的程序解耦能够更加安全和稳定的实现程序的运行。
为达到上述技术效果,本申请的总体思路如下:
S1:区分待编写程序的需要实现各个功能,为每一功能编写一个实现类。
S2:在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用。
S3:根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件。
S4:根据接口策略文件,对实现类进行解耦,生成完整的程序。
需要说明的是,在Java SPI机制能够避免Java代码中死服务,同时在编译时候通过SPI服务加载机子进行服务的注册和发现能够基于接口进行组件化的变成,实现多个模块/组件或者实现类的解耦,
为了更好的理解上述技术方案,下面结合具体实施方式进行详细的说明。
实施例一
本发明实施例提供一种模块化路由解耦方法,应用于基于JavaSPI机制的程序实现类的解耦,其特征在于,其包括:
S1:区分待编写程序的需要实现各个功能,为每一功能编写一个实现类。
在程序编写中常常有核心功能和非核心躬耕,将这些非核心业务的公共层面抽取出来,在需要的时候切入到代码中完成任务。能够降低了业务核心代码和非业务核心代码的耦合度,降低编写程序的难度,同时在发生错误时,只需要针对该实现类进行修改即可,提升的程序开发的效率。
S2:在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用。
需要说明的是步骤S1和步骤S2是可以互换的,即,程序可以先根据功能要求,编写各个实现类,然后在实现类设置接口,也可以根据程序的逻辑先设计接口,然后编写接口相对应的实现类。
S3:根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
要实现实现类之间相互结合连接,即解耦,需要实现内设有相关的接口,在JavaSPI机制下,编译时候讲接口和实现类的关系映射出来,并利用这个映射生成接口策略文件/路由。
S4:根据接口策略文件,对实现类进行解耦,生成完整的程序。
在生成了接口策略文件/路由后,即可根据策略文件/路由,完成实现类之间的解耦,生成完成的程序。
作为一个优选的实施例方式,步骤S3还包括以下具体步骤:
S301:根据程序运行逻辑,获取实现类之间解耦需求。
程序运行时候是根据其编写的逻辑进行的,因此运行至何处后,调用哪一个实现类是可以根据逻辑获取的,因此根据程序逻辑能够获取实现类之间的解耦需求。
举例来说,对于程序运行至实现类A时候,其有完成日志记录的逻辑。而日志记录的功能时通过运行实现类B实现,因此实现类A有着接入实现类B的需求。
S302:根据实现类的解耦需求,在每个对应的实现类上添加Java注解。
Java注解是一种代码级别的说明它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
其作用分类包括:
①编写文档:通过代码里标识的元数据生成文档
②代码分析:通过代码里标识的元数据对代码进行分析
③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查。
本发明使用Java注解的第二个功能,为后续实现类的解耦做准备。
S303:根据java注解生成接口策略文件。
通过Java注解进行代码分析,即Java反射机制,来构造策略文件。
作为一个优选的实施方案,根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
即在编译时期,利用接口和实现类的映射生成的接口策略文件并不会用一次就删除,而是会缓存下来,后续运行时,只需要读取缓存的接口策略文件即可。而AOP注入代码的方式,编译时间长,对于路由/接口策略文件来说,注入过于耗费资源,十分不稳定。
基于同一发明构思,本申请提供实施例二,其具体实施方式如下:
实施例二
如图2所示,本发明还提供一种一种模块化路由解耦***其包括:
编写模块1,用于区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
接口模块2,用于在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
链接模块3,用于根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
解耦模块4,用于根据接口策略文件,对实现类进行解耦,生成完整的程序。
作为一个优选的实施方案,上述链接模块3包括:
需求获取子模块,用于根据程序运行逻辑,获取实现类之间解耦需求;
Java注解子模块,用于根据在每个实现类上添加Java注解;
接口策略子模块,用于根据java注解生成接口策略文件。
作为一个可选的实施方案,上述接口策略子模块包括:
映射单元,用于根据Java注解,获取实现类的接口之间的映射关系;
缓存单元,用于根据映射关系生成接口策略文件,存储该接口策略文件。
优选的,解耦模块4包括:
读取子模块,用于读取配置文件,获取实现类的全名称字符串;
编译子模块,用于通过Java反射机制构造实现类的实例,完成编译。
前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的***,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中***的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请提供实施例三,其具体实施方式如下:
实施例三
对应上述一种模块化路由解耦方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤。
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序。
需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。这些存储戒指存储的计算机程序执行时,实现上述实施例的方法。
基于同一发明构思,本申请提供实施例四,其具体实施方式如下:
实施例四
对应上述一种模块化路由解耦方法,本发明还提供一种电子设备,该电子设备存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序。
总体来说,本发明实施例提供的一种模块化路由解耦方法、存储介质、电子设备及***,通过Java SPI和组件解耦技术方案,相较于传统的技术,缓存生成接口策略文件供后续运行使用,能够更加效率的实现解耦,同时占用资源少,生成接口策略文件不会出现调用组件丢失或者无法加载现象,更加安全稳定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种模块化路由解耦方法,应用于基于Java SPI机制的程序实现类的解耦,其特征在于,其包括:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于解耦时实现类之间相互引用;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序;
根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件;
根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
2.如权利要求1所述的方法,其特征在于,根据接口策略文件和实现类进行编译,得到完整的程序具体包括以下步骤:
读取配置文件,获取实现类的全名称字符串;
通过Java反射机制构造实现类的实例,完成编译。
3.一种存储介质,该存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序;
根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件;
根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
4.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
根据接口策略文件,对实现类进行解耦,生成完整的程序;
根据程序运行逻辑,获取组件之间解耦需求,根据解耦需求建立接口策略文件具体包括以下步骤:
根据程序运行逻辑,获取实现类之间解耦需求;
根据实现类的解耦需求,在每个对应的实现类上添加Java注解;
根据java注解生成接口策略文件;
根据Java注解生成接口策略文件具体包括以下步骤:
根据Java注解,获取各个实现类的接口之间的映射关系;
根据映射关系生成接口策略文件并保存。
5.一种模块化路由解耦***,其特征在于,其包括:
编写模块(1),用于区分待编写程序的需要实现各个功能,为每一功能编写一个实现类;
接口模块(2),用于在每个实现类内添加接口,所述接口用于实现类之间解耦时,对所述实现类进行链接;
链接模块(3),用于根据程序运行逻辑,获取实现类之间解耦需求,根据解耦需求建立接口策略文件;
解耦模块(4),用于根据接口策略文件,对实现类进行解耦,生成完整的程序;
所述链接模块(3)包括:
需求获取子模块,用于根据程序运行逻辑,获取实现类之间解耦需求;
Java注解子模块,用于根据在每个实现类上添加Java注解;
接口策略子模块,用于根据java注解生成接口策略文件;
所述接口策略子模块包括:
映射单元,用于根据Java注解,获取实现类的接口之间的映射关系;
缓存单元,用于根据映射关系生成接口策略文件,存储该接口策略文件。
6.如权利要求5所述的***,其特征在于,所述解耦模块(4)包括:
读取子模块,用于读取配置文件,获取实现类的全名称字符串;
编译子模块,用于通过Java反射机制构造实现类的实例,完成编译。
CN201810859708.0A 2018-08-01 2018-08-01 一种模块化路由解耦方法、存储介质、电子设备及*** Active CN110795091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810859708.0A CN110795091B (zh) 2018-08-01 2018-08-01 一种模块化路由解耦方法、存储介质、电子设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810859708.0A CN110795091B (zh) 2018-08-01 2018-08-01 一种模块化路由解耦方法、存储介质、电子设备及***

Publications (2)

Publication Number Publication Date
CN110795091A CN110795091A (zh) 2020-02-14
CN110795091B true CN110795091B (zh) 2023-07-28

Family

ID=69425369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810859708.0A Active CN110795091B (zh) 2018-08-01 2018-08-01 一种模块化路由解耦方法、存储介质、电子设备及***

Country Status (1)

Country Link
CN (1) CN110795091B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391811B (zh) * 2020-03-13 2023-11-03 抖音视界有限公司 函数编译方法、装置、电子设备及计算机可读存储介质
CN112380033A (zh) * 2020-11-17 2021-02-19 北京百度网讯科技有限公司 车载安卓操作***架构、车载操作***调用方法、电子设备和存储介质
CN112698888B (zh) * 2020-12-28 2024-04-19 广州虎牙科技有限公司 应用程序的组件化、组件调用和组件初始化方法及其装置
CN112637232B (zh) * 2020-12-29 2022-09-27 国云科技股份有限公司 支持多种策略的云平台资源隔离框架实现方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648563A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 应用程序中共享模块的依赖解耦处理方法和装置
CN107273138A (zh) * 2017-07-04 2017-10-20 杭州铜板街互联网金融信息服务有限公司 基于Android业务模块间交互的解耦方法和***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471345B2 (en) * 2013-09-25 2016-10-18 Sap Se Runtime generation and injection of java annotations
CN106126540B (zh) * 2016-06-15 2019-07-09 中国传媒大学 数据库访问***及其访问方法
CN106406911B (zh) * 2016-10-26 2019-11-15 国云科技股份有限公司 一种计算机软件***功能组件化的方法
CN107729061A (zh) * 2017-10-12 2018-02-23 武汉市灯塔互动文化传播有限公司 一种ios平台下工程项目的组件化构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648563A (zh) * 2015-10-30 2017-05-10 阿里巴巴集团控股有限公司 应用程序中共享模块的依赖解耦处理方法和装置
CN107273138A (zh) * 2017-07-04 2017-10-20 杭州铜板街互联网金融信息服务有限公司 基于Android业务模块间交互的解耦方法和***

Also Published As

Publication number Publication date
CN110795091A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110795091B (zh) 一种模块化路由解耦方法、存储介质、电子设备及***
US8914780B2 (en) Incremental generation of managed assemblies
CN111090433B (zh) 一种数据处理的方法、装置和存储介质
US9678787B2 (en) Framework for authoring data loaders and data savers
US8924944B2 (en) Implementation of distributed methods that support generic functions
US20100242015A1 (en) Generating libraries for reflection without project compilation
Arcaini et al. AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications
US20240020109A1 (en) Method and system for supporting smart contracts in a blockchain network
CN103164249A (zh) 用于脚本语言编译器的扩展机制
CN102222012A (zh) 针对外部数据源的静态类型检查
CN110955431A (zh) 编译环境的处理方法及装置
CN102929680A (zh) 一种将TTCN-3脚本转换为Java源代码的方法,装置和***
US20170351490A1 (en) Seamless high performance interoperability between different type graphs that share a garbage collector
CN112148278A (zh) 可视化的区块链智能合约框架及智能合约开发部署方法
CN111782207B (zh) 任务流代码生成方法、装置、设备及存储介质
CN113296786A (zh) 数据处理方法、装置、电子设备及存储介质
CN113535141A (zh) 数据库操作代码的生成方法及装置
CN111159301A (zh) 一种基于智能合约的数据创建方法、装置、设备及存储介质
CN116974581B (zh) 代码生成方法、装置、电子设备和存储介质
CN112328241B (zh) 一种应用程序开发中创建Android库模块依赖关系的方法及装置
CN111352631B (zh) 一种接口兼容性检测方法及装置
US9703576B2 (en) Aspect scoping in a modularity runtime
CN110908644A (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN115022312A (zh) 多智能合约引擎的实现方法、装置、电子设备及存储介质
EP3859532B1 (en) Method and system for counter example guided loop abstraction refinement

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230705

Address after: 4202, 42nd Floor, Shunfeng Headquarters Building, No. 3076 Xinghai Avenue, Nanshan Street, Qianhai Shenzhen Hong Kong Cooperation Zone, Shenzhen City, Guangdong Province, 518000

Applicant after: Shenzhen Fengxiang Information Technology Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Applicant before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant