CN106648563A - 应用程序中共享模块的依赖解耦处理方法和装置 - Google Patents

应用程序中共享模块的依赖解耦处理方法和装置 Download PDF

Info

Publication number
CN106648563A
CN106648563A CN201510727152.6A CN201510727152A CN106648563A CN 106648563 A CN106648563 A CN 106648563A CN 201510727152 A CN201510727152 A CN 201510727152A CN 106648563 A CN106648563 A CN 106648563A
Authority
CN
China
Prior art keywords
module
interface
function
application program
sharing module
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.)
Granted
Application number
CN201510727152.6A
Other languages
English (en)
Other versions
CN106648563B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510727152.6A priority Critical patent/CN106648563B/zh
Publication of CN106648563A publication Critical patent/CN106648563A/zh
Application granted granted Critical
Publication of CN106648563B publication Critical patent/CN106648563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提出一种应用程序中共享模块的依赖解耦处理方法,共享模块依赖于使用共享模块的应用程序中的至少一个功能,该方法包括以下步骤:分别根据使用共享模块的应用程序中的至少一个功能在共享模块中设置至少一个接口,其中,至少一个接口分别用于描述至少一个功能;分别根据至少一个接口在应用程序中部署至少一个功能模块,其中,至少一个功能模块分别用于提供至少一个功能;建立至少一个功能模块与至少一个接口的绑定关系,以便当共享模块被应用程序唤起时,根据绑定关系对共享模块进行依赖解耦处理,以实现相应的功能。本申请的方法,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖。

Description

应用程序中共享模块的依赖解耦处理方法和装置
技术领域
本申请涉及软件技术领域,特别涉及一种应用程序中共享模块的依赖解耦处理方法和装置。
背景技术
应用程序是由多个模块组成的,且模块之间存在依赖关系。由于不同的应用程序中可存在具有相同功能的模块,因此,针对该功能统一开发对应的模块,并公开给需要该模块的应用程序。即该模块可在不同应用程序中共享使用,被称为共享模块。当共享模块被A应用程序使用时,共享模块使用应用程序A中的相关模块来满足共享模块的依赖关系,当共享模块被B应用程序使用时,共享模块使用应用程序B中的相关模块来满足共享模块的依赖关系。
举例来说,大多数不同的购物应用程序都具有下单功能,因此,下单模块即为供多个购物应用程共享使用的共享模块。下单模块在购物应用程序中依赖于其中的网络请求以及唤起支付等功能。由于在不同购物应用程序中发起网络请求以及唤起支付功能的方式是不同的,那么当下单模块运行在A应用程序中时,需要调用A中发起网络请求功能以及唤起支付功能,当下单模块运行在B中时,需要调用B中发起网络请求功能以及唤起支付功能。
目前,在不同应用程序中共享模块所依赖的功能模块需要升级到一致或相同版本,也就是说,在使用共享模块的应用程序中,共享模块所依赖的功能模块的版本需要与共享模块版本匹配或者一致。由此可见,当前的共享模块与应用程序中指定版本的功能模块具有强耦合的关系,否则会出现应用程序不兼容的情况。这对软件开发人员来说,需要针对不同版本的共享分别开发应用程序,增加了应用程序开发的工作量,且限制了具有共享模块的应用程序的独立发展;对用户来说,需要在终端设备中安装版本匹配或者一致的应用程序,使用不便,体验差。
发明内容
本申请旨在至少在一定程度上解决上述技术问题。
为此,本申请的第一个目的在于提出一种应用程序中共享模块的依赖解耦处理方法,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖。
本申请的第二个目的在于提出一种应用程序中共享模块的依赖解耦处理装置。
为达上述目的,根据本申请第一方面实施例提出了一种应用程序中共享模块的依赖解耦处理方法,所述共享模块依赖于使用所述共享模块的应用程序中的至少一个功能,所述方法包括以下步骤:分别根据所述至少一个功能在所述共享模块中设置至少一个接口,其中,所述至少一个接口分别用于描述所述至少一个功能;分别根据所述至少一个接口在所述应用程序中部署至少一个功能模块,其中,所述至少一个功能模块用于提供与所述至少一个接口分别对应的所述至少一个功能;建立所述至少一个功能模块与所述至少一个接口的绑定关系,以便当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理。
本申请实施例的应用程序中共享模块的依赖解耦处理方法,根据共享模块所依赖的功能设置接口,并在使用共享模块的应用程序中部署与接口对应的功能模块,并建立共享模块中的接口与应用程序中的功能模块的绑定关系,从而,可根据绑定关系对共享模块进行依赖解耦处理,解除共享模块与其依赖的功能模块的版本之间的依赖关系,且可通过增删、更新接口等方式灵活地添加、更改共享模块所依赖的功能模块,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖,且更加灵活、易于开发。
本申请第二方面实施例提供了一种应用程序中共享模块的依赖解耦处理装置,所述共享模块依赖于使用所述共享模块的应用程序中的至少一个功能,所述装置包括:设置模块,用于分别根据所述至少一个功能在所述共享模块中设置至少一个接口,其中,所述至少一个接口分别用于描述所述至少一个功能;部署模块,用于分别根据所述至少一个接口在所述应用程序中部署至少一个功能模块,其中,所述至少一个功能模块用于提供与所述至少一个接口分别对应的所述至少一个功能;建立模块,用于建立所述至少一个功能模块与所述至少一个接口的绑定关系,以便当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理。
本申请实施例的应用程序中共享模块的依赖解耦处理装置,根据共享模块所依赖的功能设置接口,并在使用共享模块的应用程序中部署与接口对应的功能模块,并建立共享模块中的接口与应用程序中的功能模块的绑定关系,从而,可根据绑定关系对共享模块进行依赖解耦处理,解除共享模块与其依赖的功能模块的版本之间的依赖关系,且可通过增删、更新接口等方式灵活地添加、更改共享模块所依赖的功能模块,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖,且更加灵活、易于开发。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请一个实施例的应用程序中共享模块的依赖解耦处理方法的流程图;
图2为根据本申请一个实施例的应用程序中共享模块的依赖解耦处理装置的结构示意图;
图3为根据本申请另一个实施例的应用程序中共享模块的依赖解耦处理装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述根据本申请实施例的应用程序中共享模块的依赖解耦处理方法和装置。
图1为根据本申请一个实施例的应用程序中共享模块的依赖解耦处理方法的流程图。
其中,共享模块依赖于使用共享模块的应用程序中的至少一个功能。也就是说,当共享模块被一个应用程序使用时,共享模块对应的功能需要依赖于该应用程序中相应的功能模块来实现。以共享模块为在线购物应用程序中实现用户的下单操作的下单模块为例,当下单模块被在线购物应用程序使用时,下单模块需要依赖于在线购物应用中的发起网络请求和唤起支付的功能。
如图1所示,根据本申请实施例的应用程序中共享模块的依赖解耦处理方法,包括以下步骤:
S101,分别根据使用所述共享模块的应用程序的至少一个功能在共享模块中设置至少一个接口,其中,至少一个接口分别用于描述所述至少一个功能。
在申请的一个实施例中,由于共享模块依赖于使用该共享模块的应用程序中的功能,因此可根据共享模块所依赖的功能分别抽取接口。应当理解,本申请中的接口为用于描述相应功能的接口函数,包括函数名称、参数的数目和种类等成员变量,但是不包括实现该接口对应的功能的方法。
以共享模块为在线购物应用程序中实现用户的下单操作的下单模块为例,下单模块需要依赖于所述在线购物应用程序的发起网络请求和唤起支付的功能,则可在下单模块中定义与发起网络请求功能对应的接口以及与唤起支付功能分别对应的接口及其成员变量。
S102,分别根据至少一个接口在应用程序中部署至少一个功能模块,其中,至少一个功能模块用于提供与至少一个接口分别对应的至少一个功能。
具体地,在使用共享模块的应用程序内,可针对共享模块所依赖的功能分别部署相应的功能模块,且每个功能模块与用于描述相应功能的接口相匹配。功能模块用于满足或者提供相应接口对应的功能,又可被称为实现,即用于满足或者提供相应接口对应的功能的代码集合。
其中,功能模块与接口相匹配是指功能模块中的参数数目和种类与接口中的参数数目和种类一致。
以共享模块为下单模块为例,如果有应用程序A和应用程序B使用下单模块,则可分别根据S101中设置的至少一个接口在应用程序A和应用程序B中部署下单模块所依赖的发起网络请求和唤起支付功能对应的功能模块。
S103,建立至少一个功能模块与至少一个接口的绑定关系。
在申请的一个实施例中,当应用程序中只部署了一个功能模块以提供至少一个接口中的第一接口对应的功能时,可根据接口类型建立第一接口与第一接口对应的功能模块的绑定关系。也就是说,对于一个接口来说,如果应用程序中只有一个功能模块提供该接口对应的功能,则可根据接口类型,将相应类型的接口与需要该类型接口的功能模块进行绑定。由于通过接口类型建立绑定关系的方式将接口与功能模块直接进行绑定,那么,如果在应用程序中部署了多个功能模块来提供一个接口对应的功能时,根据接口类型则难以确定使用那个功能模块来执行以实现相应的功能。因此,此种方式适用于接口只有一个对应的功能模块的情况。
在本申请的另一个实施例中,每个功能对应的接口的成员变量上标注有所述功能的标识信息,每个功能对应的功能模块分别标注有所述功能的标识信息,因此,还可根据功能的标识信息建立至少一个功能模块与至少一个接口的绑定关系。具体地,可在接口或者功能模块中,可通过注解标注功能的标识信息。从而可将具有相同标识信息的接口和功能模块进行绑定。其中,功能的标识信息为用于唯一标识功能的信息,举例来说,功能的标识信息可以是功能的名称等。此种绑定方式对应用程序中部署了一个或多个功能模块来提供一个接口对应的功能的情况均可使用。
S104,当共享模块被应用程序唤起时,根据绑定关系对共享模块进行依赖解耦处理,以实现相应的功能。
在本申请的实施例中,当共享模块被应用程序唤起时,共享模块根据绑定关系调用应程序中与每个接口对应的功能模块进行实例化,以实现相应的功能。
相对于相关技术中共享模块强耦合了使用共享模块的应用程序的版本来说,本申请的实施例中,在实现共享模块的功能时,共享模块不需与使用该共享模块的应用程序进行版本匹配,从而实现了共享模块对应用程序版本的解耦。
其中,实例化包括单例模式和多例模式。具体地,当共享模块的接口与应用程序中的功能模块的绑定关系是根据接口类型进行绑定的,可根据接口类型确定每个接口唯一对应的功能模块进行实例化,此时实例化为单例模式。
当共享模块的接口与应用程序中的功能模块的绑定关系是根据功能的标识信息进行绑定的,则多个功能模块可与同一接口进行绑定,则在实例化时,可确定接口成员变量中的功能的标识信息,然后找到具有该功能的标识信息的功能模块,并进行实例化,此时,找到的具有该功能的标识信息的功能模块可为多个,则实例化为多例模式。
本申请实施例的应用程序中共享模块的依赖解耦处理方法,根据共享模块所依赖的功能设置接口,并在使用共享模块的应用程序中部署与接口对应的功能模块,并建立共享模块中的接口与应用程序中的功能模块的绑定关系,从而,可根据绑定关系对共享模块进行依赖解耦处理,解除共享模块与其依赖的功能模块的版本之间的依赖关系,且可通过增删、更新接口等方式灵活地添加、更改共享模块所依赖的功能模块,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖,且更加灵活、易于开发。
此外,本申请实施例的应用程序中共享模块的依赖解耦处理方法中,在功能模块部署完成时,并不进行实例化,而是在与功能模块绑定的接口被调用时,才进行实例化,从而能够减少应用程序的运行负担,提高性能。
为了实现上述实施例,本申请还提出一种应用程序中共享模块的依赖解耦处理装置。
图2为根据本申请一个实施例的应用程序中共享模块的依赖解耦处理装置的结构示意图。
其中,所述共享模块依赖于使用所述共享模块的应用程序中的至少一个功能。也就是说,当共享模块被一个应用程序使用时,共享模块对应的功能需要依赖于该应用程序中相应的功能模块来实现。以共享模块为在线购物应用程序中实现用户的下单操作的下单模块为例,当下单模块被在线购物应用程序使用时,下单模块需要依赖于在线购物应用中的发起网络请求和唤起支付的功能。
如图2所示,根据本申请实施例的应用程序中共享模块的依赖解耦处理装置,包括:设置模块10、部署模块20和建立模块30。
具体地,设置模块10用于分别根据使用所述共享模块的应用程序的至少一个功能在共享模块中设置至少一个接口,其中,至少一个接口分别用于描述所述至少一个功能。
在申请的一个实施例中,由于共享模块依赖于使用该共享模块的应用程序中的功能,因此可由设置模块10根据共享模块所依赖的功能分别抽取接口。应当理解,本申请中的接口为用于描述相应功能的接口函数,包括函数名称、参数的数目和种类等成员变量,但是不包括实现该接口对应的功能的方法。
以共享模块为在线购物应用程序中实现用户的下单操作的下单模块为例,下单模块需要依赖于所述在线购物应用程序的发起网络请求和唤起支付的功能,则可在下单模块中定义与发起网络请求功能对应的接口以及与唤起支付功能分别对应的接口及其成员变量。
部署模块20用于分别根据至少一个接口在应用程序中部署至少一个功能模块,其中,至少一个功能模块用于提供与至少一个接口分别对应的至少一个功能。
具体地,在使用共享模块的应用程序内,部署模块20可针对共享模块所依赖的功能分别部署相应的功能模块,且每个功能模块与用于描述相应功能的接口相匹配。功能模块用于满足或者提供相应接口对应的功能,又可被称为实现,即用于满足或者提供相应接口对应的功能的代码集合。
其中,功能模块与接口相匹配是指功能模块中的参数数目和种类与接口中的参数数目和种类一致。
以共享模块为下单模块为例,如果有应用程序A和应用程序B使用下单模块,则部署模块20可分别根据设置模块10设置的至少一个接口在应用程序A和应用程序B中部署下单模块所依赖的发起网络请求和唤起支付功能对应的功能模块。
建立模块30用于建立至少一个功能模块与至少一个接口的绑定关系,以便当共享模块被应用程序唤起时,根据绑定关系对共享模块进行依赖解耦处理,以实现相应的功能。
在申请的一个实施例中,当应用程序中只部署了一个功能模块以提供至少一个接口中的第一接口对应的功能时,建立模块30可根据接口类型建立第一接口与第一接口对应的功能模块的绑定关系。也就是说,对于一个接口来说,如果应用程序中只有一个功能模块提供该接口对应的功能,则可根据接口类型,将相应类型的接口与需要该类型接口的功能模块进行绑定。由于通过接口类型建立绑定关系的方式将接口与功能模块直接进行绑定,那么,如果在应用程序中部署了多个功能模块来提供一个接口对应的功能时,根据接口类型则难以确定使用那个功能模块来执行以实现相应的功能。因此,此种方式适用于接口只有一个对应的功能模块的情况。
在本申请的另一个实施例中,每个功能对应的接口的成员变量上标注有所述功能的标识信息,每个功能对应的功能模块分别标注有所述功能的标识信息,因此,建立模块30还可根据功能的标识信息建立至少一个功能模块与至少一个接口的绑定关系。具体地,可在接口或者功能模块中,可通过注解标注功能的标识信息。从而建立模块30可将具有相同标识信息的接口和功能模块进行绑定。其中,功能的标识信息为用于唯一标识功能的信息,举例来说,功能的标识信息可以是功能的名称等。此种绑定方式对应用程序中部署了一个或多个功能模块来提供一个接口对应的功能的情况均可使用。
进一步地,如图3所示,该应用程序中共享模块的依赖解耦处理装置还可包括处理模块40。
其中,处理模块40用于当共享模块被应用程序唤起时,根据绑定关系对共享模块进行依赖解耦处理,以实现相应的功能。
在本申请的实施例中,处理模块40具体用于当共享模块被应用程序唤起时,共享模块根据绑定关系调用应程序中与每个接口对应的功能模块进行实例化,以实现相应的功能。
相对于相关技术中共享模块强耦合了使用共享模块的应用程序的版本来说,本申请的实施例中,在实现共享模块的功能时,共享模块不需与使用该共享模块的应用程序进行版本匹配,从而实现了共享模块对应用程序版本的解耦。
其中,实例化包括单例模式和多例模式。具体地,当共享模块的接口与应用程序中的功能模块的绑定关系是根据接口类型进行绑定的,处理模块40可根据接口类型确定每个接口唯一对应的功能模块进行实例化,此时实例化为单例模式。
当共享模块的接口与应用程序中的功能模块的绑定关系是根据功能的标识信息进行绑定的,则多个功能模块可与同一接口进行绑定,则在实例化时,处理模块40可确定接口成员变量中的功能的标识信息,然后找到具有该功能的标识信息的功能模块,并进行实例化,此时,找到的具有该功能的标识信息的功能模块可为多个,则实例化为多例模式。
本申请实施例的应用程序中共享模块的依赖解耦处理装置,根据共享模块所依赖的功能设置接口,并在使用共享模块的应用程序中部署与接口对应的功能模块,并建立共享模块中的接口与应用程序中的功能模块的绑定关系,从而,可根据绑定关系对共享模块进行依赖解耦处理,解除共享模块与其依赖的功能模块的版本之间的依赖关系,且可通过增删、更新接口等方式灵活地添加、更改共享模块所依赖的功能模块,解除了共享模块的版本依赖,使得共享模块可使用不同的功能模块来满足其依赖,且更加灵活、易于开发。
此外,本申请实施例的应用程序中共享模块的依赖解耦处理方法中,在功能模块部署完成时,并不进行实例化,而是在与功能模块绑定的接口被调用时,才进行实例化,从而能够减少应用程序的运行负担,提高性能。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同限定。

Claims (11)

1.一种应用程序中共享模块的依赖解耦处理方法,其特征在于,所述共享模块依赖于使用所述共享模块的应用程序中的至少一个功能,所述方法包括以下步骤:
分别根据所述至少一个功能在所述共享模块中设置至少一个接口,其中,所述至少一个接口分别用于描述所述至少一个功能;
分别根据所述至少一个接口在所述应用程序中部署至少一个功能模块,其中,所述至少一个功能模块用于提供与所述至少一个接口分别对应的所述至少一个功能;
建立所述至少一个功能模块与所述至少一个接口的绑定关系,以便当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理。
2.如权利要求1所述的应用程序中共享模块的依赖解耦处理方法,其特征在于,当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理,具体包括:
当所述共享模块被所述应用程序唤起时,所述共享模块根据所述绑定关系调用所述应程序中与每个接口对应的功能模块进行实例化,以实现相应的功能。
3.如权利要求1或2所述的应用程序中共享模块的依赖解耦处理方法,其特征在于,所述建立所述至少一个功能模块与所述至少一个接口的绑定关系具体包括:
当所述应用程序中只部署了一个功能模块以提供所述至少一个接口中的第一接口对应的功能时,根据接口类型建立所述第一接口与所述第一接口对应的功能模块的绑定关系。
4.如权利要求1或2所述的应用程序中共享模块的依赖解耦处理方法,其特征在于,其中,每个功能对应的接口的成员变量上标注有所述功能的标识信息,每个功能对应的功能模块分别标注有所述功能的标识信息,所述建立所述至少一个功能模块与所述至少一个接口的绑定关系具体包括:
根据所述标识信息建立所述至少一个功能模块与所述至少一个接口的绑定关系。
5.如权利要求2所述的应用程序中共享模块的依赖解耦处理方法,其特征在于,其中,所述实例化包括单例模式和多例模式。
6.一种应用程序中共享模块的依赖解耦处理装置,其特征在于,所述共享模块依赖于使用所述共享模块的应用程序中的至少一个功能,所述装置包括:
设置模块,用于分别根据所述至少一个功能在所述共享模块中设置至少一个接口,其中,所述至少一个接口分别用于描述所述至少一个功能;
部署模块,用于分别根据所述至少一个接口在所述应用程序中部署至少一个功能模块,所述至少一个功能模块用于提供与所述至少一个接口分别对应的所述至少一个功能;
建立模块,用于建立所述至少一个功能模块与所述至少一个接口的绑定关系,以便当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理。
7.如权利要求6所述的应用程序中共享模块的依赖解耦处理装置,其特征在于,还包括:处理模块;
其中,所述处理模块用于当所述共享模块被所述应用程序唤起时,根据所述绑定关系对所述共享模块进行依赖解耦处理。
8.如权利要求7所述的应用程序中共享模块的依赖解耦处理装置,其特征在于,所述处理模块具体用于:
当所述共享模块被所述应用程序唤起时,所述共享模块根据所述绑定关系调用所述应程序中与每个接口对应的功能模块进行实例化,以实现相应的功能。
9.如权利要求6-8任一项所述的应用程序中共享模块的依赖解耦处理装置,其特征在于,所述建立模块具体用于:
当所述应用程序中只部署了一个功能模块以提供所述至少一个接口中的第一接口对应的功能时,根据接口类型建立所述第一接口与所述第一接口对应的功能模块的绑定关系。
10.如权利要求6-8任一项所述的应用程序中共享模块的依赖解耦处理装置,其特征在于,其中,每个功能对应的接口的成员变量上标注有所述功能的标识信息,每个功能对应的功能模块分别标注有所述功能的标识信息,所述建立模块具体用于:
根据所述标识信息建立所述至少一个功能模块与所述至少一个接口的绑定关系。
11.如权利要求8所述的应用程序中共享模块的依赖解耦处理装置,其特征在于,其中,所述实例化包括单例模式和多例模式。
CN201510727152.6A 2015-10-30 2015-10-30 应用程序中共享模块的依赖解耦处理方法和装置 Active CN106648563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510727152.6A CN106648563B (zh) 2015-10-30 2015-10-30 应用程序中共享模块的依赖解耦处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510727152.6A CN106648563B (zh) 2015-10-30 2015-10-30 应用程序中共享模块的依赖解耦处理方法和装置

Publications (2)

Publication Number Publication Date
CN106648563A true CN106648563A (zh) 2017-05-10
CN106648563B CN106648563B (zh) 2021-03-23

Family

ID=58809183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510727152.6A Active CN106648563B (zh) 2015-10-30 2015-10-30 应用程序中共享模块的依赖解耦处理方法和装置

Country Status (1)

Country Link
CN (1) CN106648563B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363614A (zh) * 2018-03-07 2018-08-03 北京恒华伟业科技股份有限公司 一种应用的业务模块管理方法、装置及服务器
WO2019028992A1 (zh) * 2017-08-09 2019-02-14 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN109343983A (zh) * 2018-09-30 2019-02-15 武汉斗鱼网络科技有限公司 功能模块间的信息交互方法、装置、设备及存储介质
CN110308999A (zh) * 2018-03-20 2019-10-08 Tcl集团股份有限公司 一种应用间动态共享依赖包的方法、存储介质及移动终端
WO2019227899A1 (zh) * 2018-05-31 2019-12-05 北京三快在线科技有限公司 程序调用解耦
CN110795094A (zh) * 2019-09-19 2020-02-14 五八有限公司 一种页面组件引用方法以及页面组件引用装置
CN110795091A (zh) * 2018-08-01 2020-02-14 武汉斗鱼网络科技有限公司 一种模块化路由解耦方法、存储介质、电子设备及***

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591339A (zh) * 2003-08-28 2005-03-09 国际商业机器公司 提供共享Web模块的***和方法
CN1744037A (zh) * 2005-08-26 2006-03-08 南京邮电大学 避免网格计算应用依赖底层开发工具箱的方法
US20070226757A1 (en) * 2006-03-13 2007-09-27 Lsi Logic Corporation Apparatus and methods for a simplified, multi-client SAS port for management of other devices in an enhanced SAS device
CN101131638A (zh) * 2007-08-14 2008-02-27 中兴通讯股份有限公司 业务对象内存表示和持久化表示的解耦合装置及方法
CN101354696A (zh) * 2008-09-08 2009-01-28 北京航空航天大学 基于电信领域共享信息模型的数据整合与应用服务***
CN101553781A (zh) * 2005-07-25 2009-10-07 麦克罗维西恩公司 功能绑定方法和***
US20100107113A1 (en) * 2008-10-24 2010-04-29 Andrew Innes Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
US20100125595A1 (en) * 2008-11-14 2010-05-20 Hitachi, Ltd. Configuration Management Server, Name Recognition Method and Name Recognition Program
CN101814084A (zh) * 2010-01-11 2010-08-25 北京世纪高通科技有限公司 Api管理方法及***
CN103221936A (zh) * 2010-11-18 2013-07-24 德克萨斯仪器股份有限公司 一种用于处理集群的共享功能存储器电路
CN103645919A (zh) * 2013-12-18 2014-03-19 用友软件股份有限公司 一种通过插件扩展管理信息***功能的方法
WO2014125395A1 (en) * 2013-02-14 2014-08-21 Telefonaktiebolaget L M Ericsson (Publ) Multicast support for evpn-spbm based on the mldp signaling protocol
CN104135532A (zh) * 2014-08-12 2014-11-05 湖南大学 基于OSGi的车载网服务共享中间件、实现方法及服务共享方法
CN104216715A (zh) * 2014-09-02 2014-12-17 深圳前海诺德咨询服务有限公司 一种Web App开发框架及方法
CN104407843A (zh) * 2014-10-22 2015-03-11 浪潮软件集团有限公司 一种高低层模块解耦的依赖倒置优化方法
CN104834555A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 调用功能模块的方法、相关装置及装置修复方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591339A (zh) * 2003-08-28 2005-03-09 国际商业机器公司 提供共享Web模块的***和方法
CN101553781A (zh) * 2005-07-25 2009-10-07 麦克罗维西恩公司 功能绑定方法和***
CN1744037A (zh) * 2005-08-26 2006-03-08 南京邮电大学 避免网格计算应用依赖底层开发工具箱的方法
US20070226757A1 (en) * 2006-03-13 2007-09-27 Lsi Logic Corporation Apparatus and methods for a simplified, multi-client SAS port for management of other devices in an enhanced SAS device
CN101131638A (zh) * 2007-08-14 2008-02-27 中兴通讯股份有限公司 业务对象内存表示和持久化表示的解耦合装置及方法
CN101354696A (zh) * 2008-09-08 2009-01-28 北京航空航天大学 基于电信领域共享信息模型的数据整合与应用服务***
US20100107113A1 (en) * 2008-10-24 2010-04-29 Andrew Innes Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
US20100125595A1 (en) * 2008-11-14 2010-05-20 Hitachi, Ltd. Configuration Management Server, Name Recognition Method and Name Recognition Program
CN101814084A (zh) * 2010-01-11 2010-08-25 北京世纪高通科技有限公司 Api管理方法及***
CN103221936A (zh) * 2010-11-18 2013-07-24 德克萨斯仪器股份有限公司 一种用于处理集群的共享功能存储器电路
WO2014125395A1 (en) * 2013-02-14 2014-08-21 Telefonaktiebolaget L M Ericsson (Publ) Multicast support for evpn-spbm based on the mldp signaling protocol
CN103645919A (zh) * 2013-12-18 2014-03-19 用友软件股份有限公司 一种通过插件扩展管理信息***功能的方法
CN104135532A (zh) * 2014-08-12 2014-11-05 湖南大学 基于OSGi的车载网服务共享中间件、实现方法及服务共享方法
CN104216715A (zh) * 2014-09-02 2014-12-17 深圳前海诺德咨询服务有限公司 一种Web App开发框架及方法
CN104407843A (zh) * 2014-10-22 2015-03-11 浪潮软件集团有限公司 一种高低层模块解耦的依赖倒置优化方法
CN104834555A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 调用功能模块的方法、相关装置及装置修复方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
O0O秋叶O0O: "模块化应用程序开发(纯汉语版)", 《HTTPS://WWW.CNBLOGS.COM/DOUBLECHEN/P/3701333.HTML》 *
石绥祥;雷波: "第17章 数字海洋***集成 第17.1节 ***集成技术与方法", 《中国数字海洋—理论与实践》 *
赛提斯特: "模块解耦", 《HTTPS://WWW.CNBLOGS.COM/STST/P/4906978.HTML》 *
陶洋: "第2.1.8节 软件工程", 《信息***建立技术与方法》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019028992A1 (zh) * 2017-08-09 2019-02-14 上海壹账通金融科技有限公司 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN108363614A (zh) * 2018-03-07 2018-08-03 北京恒华伟业科技股份有限公司 一种应用的业务模块管理方法、装置及服务器
CN110308999A (zh) * 2018-03-20 2019-10-08 Tcl集团股份有限公司 一种应用间动态共享依赖包的方法、存储介质及移动终端
CN110308999B (zh) * 2018-03-20 2024-02-20 Tcl科技集团股份有限公司 一种应用间动态共享依赖包的方法、存储介质及移动终端
WO2019227899A1 (zh) * 2018-05-31 2019-12-05 北京三快在线科技有限公司 程序调用解耦
CN110795091A (zh) * 2018-08-01 2020-02-14 武汉斗鱼网络科技有限公司 一种模块化路由解耦方法、存储介质、电子设备及***
CN110795091B (zh) * 2018-08-01 2023-07-28 深圳丰享信息技术有限公司 一种模块化路由解耦方法、存储介质、电子设备及***
CN109343983A (zh) * 2018-09-30 2019-02-15 武汉斗鱼网络科技有限公司 功能模块间的信息交互方法、装置、设备及存储介质
CN109343983B (zh) * 2018-09-30 2021-07-23 武汉斗鱼网络科技有限公司 功能模块间的信息交互方法、装置、设备及存储介质
CN110795094A (zh) * 2019-09-19 2020-02-14 五八有限公司 一种页面组件引用方法以及页面组件引用装置
CN110795094B (zh) * 2019-09-19 2023-10-27 五八有限公司 一种页面组件引用方法以及页面组件引用装置

Also Published As

Publication number Publication date
CN106648563B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN106648563A (zh) 应用程序中共享模块的依赖解耦处理方法和装置
CN106878204B (zh) 一种虚拟机的创建方法和装置
CN107680591A (zh) 基于车载终端的语音交互方法、装置及其设备
CN104461693B (zh) 一种桌面云计算环境下的虚拟机更新方法和***
CN107257346A (zh) 单点登录的业务访问处理方法及其设备
CN108234134A (zh) 区块同步方法及***
CN103605529B (zh) 应用程序的处理方法和装置
CN105357167A (zh) 业务处理方法和装置
CN105939362A (zh) 用户账号管理方法及装置
CN106101984A (zh) 一种nfc移动支付终端的安全模块管理方法及终端
CN104978271A (zh) 一种Android***的自动升级压测方法及***
CN108600311A (zh) 客户端模拟接口数据的方法及装置
CN106201811A (zh) 应用程序的故障恢复方法和终端
WO2007022108A3 (en) Systems and methods of managing retailer affiliate programs
CN106990983A (zh) 单片机烧写方法、装置、***及单片机
Alférez et al. Facing uncertainty in web service compositions
CN106357602A (zh) 一种直播方法及直播应用服务端、合作应用客户端
CN107707679A (zh) 文件上传方法及装置
CN107067559A (zh) 一种实现充电桩互联充电的方法和装置
WO2005003958A3 (en) Methods and apparatus to provide secure firmware storage and service access
CN107291486A (zh) 一种操作***的安装方法和装置
CN106327330A (zh) 一种多个订单共享账户资金的方法及***
CN103164245B (zh) 应用显示特定语言的方法和终端
CN106843857A (zh) 基于srp实现代码库转换sdk的方法和装置
CN109376072A (zh) 基于第三方组件库的应用程序开发方法和装置

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
GR01 Patent grant
GR01 Patent grant