CN110399119A - 一种组件化构建方法、装置、电子设备及存储介质 - Google Patents
一种组件化构建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110399119A CN110399119A CN201910526372.0A CN201910526372A CN110399119A CN 110399119 A CN110399119 A CN 110399119A CN 201910526372 A CN201910526372 A CN 201910526372A CN 110399119 A CN110399119 A CN 110399119A
- Authority
- CN
- China
- Prior art keywords
- module
- functional
- business
- function
- service component
- 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.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 100
- 238000004590 computer program Methods 0.000 claims description 6
- 125000000524 functional group Chemical group 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 28
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Abstract
本发明公开了一种组件化构建方法、装置、电子设备及存储介质,将软件代码按照业务特征封装为业务组件,并将软件代码按照功能特征封装为功能组件,将业务组件和功能组件添加到管理工具类中进行统一的调度。将业务对应的软件代码按照需求归纳为多个业务模块,业务模块通过管理工具类调度业务组件,以调用功能组件中的相应功能;将功能对应的软件代码按照需求归纳为多个功能模块,功能模块用于实现功能组件的相应功能的调用。可见,该方法使得层与层之间,组件与组件之间,业务模块与业务模块之间具有明确的范围边界,每个业务模块作为一个独立的应用进行开发处理,软件代码量的大幅降低,进而提高开发效率。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种组件化构建方法、装置、电子设备及存储介质。
背景技术
随着项目开发的推进,以及新的业务不断的引入,会使得Android项目的软件代码量越来越庞大,而软件代码之间的高耦合性也导致项目工程的版本维护困难,局部的软件代码变动往往导致需要整个项目工程重新进行完整编译,因此对项目工程中的某个功能进行单独升级或替换,可能会造成整个项目工程的完整编译。
为了降低对Android项目版本进行维护的难度,通常会修改编译工具的配置信息,以实现工程类型的修改,从而将一部分业务功能封装到工程库形成一个组件,使得该业务功能能够单独编译,实现Android项目工程的组件化。
而过分强调业务功能可以独立编译独立运行,则会导致组件间存在大量重复的功能代码,进一步增加Android项目的软件代码量。
发明内容
本发明提供了一种组件化构建方法、装置、电子设备及存储介质,以解决现有的方法无法解决软件代码之间的耦合特性,使得开发效率低的问题。
第一方面,本发明提供了一种组件化构建方法,包括以下步骤:
将软件代码按照业务特征和功能特征进行划分;
将符合业务特征的软件代码封装为业务组件;
将符合功能特征的软件代码封装为功能组件;
创建管理工具类,所述管理工具类是指用于调度所述业务组件和功能组件的工具类;
将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过管理工具类调度业务组件,以由所述业务组件调用功能组件中的相应功能;
将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
进一步地,所述业务模块通过功能模块调用对应的功能。
进一步地,还包括:
创建用于实现业务组件和业务组件之间,业务组件和功能模块之间,功能模块和功能模块之间通信的协议模块;
在协议模块中建立与所述业务模块对应的文件目录,所述文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
进一步地,还包括:
创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径;
所述业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
第二方面,本发明实施例提供了一种组件化构建装置,包括:
代码划分模块,用于将软件代码按照业务特征和功能特征进行划分;
业务组件封装模块,用于将符合业务特征的软件代码封装为业务组件;
功能组件封装模块,用于将符合功能特征的软件代码封装为功能组件;
工具类创建模块,用于创建管理工具类,所述管理工具类是指用于调度所述业务组件和功能组件的工具类;
业务模块归纳模块,用于将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过管理工具类调度业务组件,以由所述业务组件调用功能组件中的相应功能;
功能模块归纳模块,用于将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
进一步地,所述业务模块通过功能模块调用对应的功能。
进一步地,还包括:
协议模块创建模块,用于创建用于实现业务组件和业务组件之间,业务组件和功能模块之间,功能模块和功能模块之间通信的协议模块;
文件目录建立模块,用于在协议模块中建立与所述业务模块对应的文件目录,所述文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
进一步地,还包括:
路径选择工具库管理模块,用于管理和维护所述业务模块和功能模块的调用方法、声明周期以及路径选择的逻辑,所述路径选择的逻辑包括创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径;所述调用方法供所述业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的组件化构建方法。
第四方面,本发明还提供了一种存储介质,所述存储介质中存储有计算机程序,当组件化构建装置的至少一个处理器执行所述计算机程序时,组件化构建装置执行第一方面所述的组件化构建方法。
由以上技术方案可知,本发明实施例提供的一种组件化构建方法、装置、电子设备及存储介质,将软件代码按照业务和功能进行划分,将符合业务特征的软件代码封装为业务组件,将符合功能特征的软件代码封装为功能组件;并将业务组件和功能组件添加到管理工具类中进行统一的管理。将业务对应的软件代码按照需求归纳为多个业务模块,业务模块通过管理工具类调度业务组件,以调用功能组件中的相应功能;将功能对应的软件代码按照需求归纳为多个功能模块,功能模块用于实现功能组件的相应功能的调用。可见,将整个项目的软件代码进行纵向分层,横向归纳合并,使得层与层之间,组件与组件之间,业务模块与业务模块之间具有明确的范围边界,每个业务模块作为一个独立的应用进行开发处理,将原本所有的业务一同进行编译的过程划分成独立的业务模块,并各自编译各自需要的软件代码。对于各个业务模块而言,软件代码量的大幅降低,整个编译时间也随之大幅降低,进而提高开发效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的组件化构建方法的流程图;
图2为本发明实施例提供的Android项目开发工程的结构框图;
图3为本发明又一实施例提供的组件化构建方法的流程图;
图4为本发明另一实施例提供的组件化构建方法的流程图;
图5为本发明实施例提供的组件化构建装置的结构框图;
图6本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
参见图1,为本发明实施例提供的组件化构建方法的流程图。
本发明实施例提供的组件化构建方法,应用于Android软件开发过程,本实施例利用组件化方法将开发工程进行划分,如图2所示,将开发工程划分为运行环境,工具库工程,功能组件,业务组件和宿主工程五个层级,相邻两个层级之间的依赖关系为靠近底部的层级向与其相邻的上一层级提供功能服务,继而建立二者的依赖关系。其中,管理工具类的作用为跨越功能组件层、业务组件层和宿主工程层的管理工具;路径工具库是指路径寻址的管理工具,例如,如何打开页面;业务组件层中每一项加上功能组件中所有项即为一个可运行的组件。工具库工程用于向功能组件提供其所需的工具;宿主工程用于将各组件和各工具合并到壳工程。
为解决单一项目编译时间长,业务功能独立编译独立运行,导致组件间存在大量重复的功能代码,进一步增加Android项目的软件代码量的问题,本实施例将工程进行组件化划分,对工程代码进行解耦,明确代码职责划分,降低开发过程中的编译时间,并降低工程业务功能间的强依赖关系,使各不同业务可以并行开发,降低代码耦合程度,提高开发效率。
具体地,参见图1,本发明实施例提供的一种组件化构建方法,包括以下步骤:
S1、将软件代码按照业务特征和功能特征进行划分。
软件代码为Android的软件开发项目中的代码(简称Android项目的代码)。为了降低软件代码的耦合程度,本实施例将Android项目的代码在开发过程中需要用到的业务和功能进行抽象归纳,按照与业务相关的内容将业务代码划分为一类,按照具体功能相关的内容将功能代码划分为一类。
S2、将符合业务特征的软件代码封装为业务组件。
S3、将符合功能特征的软件代码封装为功能组件。
在对Android项目的代码进行划分后,将所需的业务对应的软件代码封装为业务组件,每个业务组件作为模块由一个module(组件)工程进行管理;将所需的功能对应的软件代码封装为功能组件,放置于一个module(组件)工程进行统一管理,业务组件和功能组件都相对独立存在。
通过对软件代码进行纵向分层,横向归纳合并的方式,将组件与组件、层与层之间都划分明显的范围边界,使得每个组件内都做到高内聚、低耦合的效果,即每个组件不再依赖其他组件才能发挥作用,而是可以独立运行。
S4、创建管理工具类,管理工具类是指用于调度业务组件和功能组件的工具类。
由于现有技术中,不同组件之间的接口服务缺少统一的管理,使得接口服务管理成本较高。为解决这个问题,本实施例,在Android的软件开发项目中建立一个统一的管理工具类,统一管理业务组件和功能组件,实现业务组件和功能组件的调度。
在根据统一的结构模板封装成业务组件和功能组件之后,将业务组件和功能组件统一添加到管理工具类中,使得业务组件和功能组件分别作为管理工具类中的一个管理层。
S5、将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过管理工具类调度业务组件,以由业务组件调用功能组件中的相应功能。
在对软件代码进行抽象归纳后,还需将具体的业务代码按照需求进行具体的归纳,即将业务对应的代码按照需求归纳为业务模块,每个业务模块用于实现一种功能,且每个业务模块独立维护与用户交互的界面和对应的逻辑,并且每个业务模块可以通过底层依赖的,即功能组件层的功能模块进行必要的数据处理和数据持久化维护。
所有业务模块承载在宿主工程层的壳工程内,壳工程负责整个手机应用与手机系统之间的交互。
采用上述归纳分层的形式形成多个业务模块,每个业务模块可以作为一个独立的手机应用进行开发处理,这样可以将原本所有的业务一同进行编译的过程划分成独立的业务模块各自编译各自需要的代码的过程。对于各个业务模块而言,每个业务模块仅需编译自身需要的代码,使得每个业务模块的代码量大幅降低,多个业务模块可共同进行独立的开发过程,使得整体的编译时间也随之大幅降低,以此解决开发过程中编译时间过长的问题。
另外,最终需要包含全部业务模块的工程通过将每个业务模块打成aar包的形式,避免未修改业务模块的重复编译过程,进而缩短整个项目编译花费的时间,也可解决开发过程中编译时间过长的问题。其中,aar包是Android项目中一种直接引入已编译完成的库工程文件且不必参与引入工程的编译过程。
业务组件可为一个单独的手机应用,因此,在开发过程中,为赋予该手机应用相应的功能,需要宿主工程将用户的交互动作托管给业务组件,业务组件通过管理工具类调用功能模块的具体能力,并返回业务组件需要的最终数据,完成用户的交互行为。
而为使业务组件能够准确调用相应的功能,需要管理工具提供一种访问方式,使得业务组件能够调用相应功能。该路径是业务模块调用相应功能的一种实现方法,每种功能均有一种路径与其对应,进而可以使业务模块能够在众多的功能模块中找到所需的那一种功能。具体地,本发明实施例提供的组件化构建方法,如图3所示,还包括:
S401、创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径。
S402、业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
在Android项目的开发工程中建立路径工具库,路径工具库中包括实现每一种功能的路径,该路径可供业务模块调用相应功能模块。
在具体实现时,业务模块根据路径工具库提供的调用路径,通过业务组件调用功能组件中的相应功能,且该功能与调用路径相适配。
S6、将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
业务模块在开发应用时所需的功能由功能模块来提供,每种功能模块对应一种具体的功能,将多个功能模块与业务逻辑相结合形成业务模块所需的所有功能,即由多个功能模块对应的功能结合在一起可开发出具有多功能的手机应用。
本实施例中的功能模块,是由Android的软件开发项目中每个功能对应的软件代码按照需求归纳而成,每个功能模块用于实现一种独立的功能,且功能模块用于为业务组件提供其所需的功能,使得业务组件与功能组件之间建立依赖关系。
具体地,业务模块在开发过程中,为了开发相应功能的手机应用,需通过业务组件向功能组件调用相应的功能,而该功能的提供则由功能模块来实现,即由业务组件调用功能组件,实现调用相应的多个功能模块对应的功能,将该多个功能拼凑在一起才可形成业务模块,即一个手机应用。
而在另一个具体实施方式中,业务模块可不通过业务组件调用相应的功能,而是由业务模块直接通过功能模块调用对应的功能,这样也可缩短开发过程中的编译时间。
功能模块可包括客户端框架和客户端核心,客户端核心可应用在任意的APP上,而客户端框架需经过转换后仅可应用在当前APP上。在开发过程中,需先将客户端核心进行下沉处理,客户端核心用于调用工具库工程中的任何工具,该工具可用于形成功能模块。客户端框架也可调用工具库工程中的工具,只是该工具需为功能模块所需的特定的工具。
利用本实施例提供的组件化构建方法,对Android软件开发项目的工程代码进行划分,使得每一个组件、每一个业务模块之间都是相互独立的。但是在调用过程中,每个组件之间、每个业务模块之间需要通过接口服务进行通信,以实现调用过程,因此,需要每一个组件、每一个业务模块能够找到对方,即业务模块需与业务组件进行通信,业务组件需与功能组件进行通信,功能组件需与功能模块进行通信。并且,为了业务模块能够准确调用功能模块对应的功能,需要功能组件能够将每种功能模块的能力通过业务组件告知业务模块,因此,还需建立协议模块,以实现上述需求。
协议模块创建在功能组件层,作为一个独立的工程使用,为此,本实施例提供的组件化构建方法,如图4所示,还包括:
S301、创建用于实现业务组件和业务组件之间,业务组件和功能模块之间,功能模块和功能模块之间通信的协议模块。
协议模块负责组件与组件之间、模块与模块之间、以及组件与模块之间的通信,协议模块还可实现组件与宿主工程之间的通信,以便业务模块可以通过业务组件准确地调用所需功能的功能模块,以降低开发过程中的编译时间,同时,业务模块精准地调用相关功能模块,可以减少业务模块与功能模块之间的耦合程度。
S302、在协议模块中建立与业务模块对应的文件目录,文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
为便于组件与组件之间、模块与模块之间、以及组件与模块之间的通信,在协议模块中还需建立与业务模块对应的文件目录。
每一个可工作的业务模块都会在协议模块中有自己独立的文件目录,在这个文件目录中,每个业务模块的开发人员需要创建这个业务模块的服务接口、接口中返回的数据实体对象以及能够通过路径工具库找到该功能组件中功能模块的路径声明。
服务接口是一个工程为其调用者提供的具体能力的一份说明清单,用于实现业务模块与功能模块之间的通信。接口中返回的数据实体对象是在业务模块与功能模块进行通信时,被调用的相关功能或工具的参数。路径声明是指可以找到需要调用的功能模块的相关路径,该路径可实现业务模块调用功能模块的过程。
由于每个组件或业务模块,都有自己的文件目录,这样同时开发不同组件或业务模块的开发人员可自行修改对应的文件目录,可避免开发人员修改相同文件的可能,进而降低项目代码的维护成本。同时所有组件和业务模块对外暴露的服务接口和数据实体对象都在协议模块中维护,这个协议模块又被所有的业务组件引用,即每个业务模块的开发人员通过查看协议模块可以得知当前工程中所有可以交互的服务接口和实体对象。以此最大限度降低开发人员之间的沟通成本和开发人员最终成果的依赖关系,进而实现每个业务模块的独立开发。同时由于协议模块的存在,各个组件和业务模块在开发过程中,即使发生变更,也不会影响其调用者正常的运行。
由以上技术方案可知,本发明实施例提供的一种组件化构建方法,将代码按照业务和功能进行划分,将符合业务特征的代码封装为业务组件,将符合功能特征的代码封装为功能组件;并将业务组件和功能组件添加到管理工具类中进行统一的管理。将业务对应的代码按照需求归纳为多个业务模块,业务模块通过管理工具类内的业务组件调用功能组件中的相应功能;将功能对应的代码按照需求归纳为多个功能模块,功能模块用于实现管理工具类内的功能组件的相应功能的调用。可见,将整个项目的代码进行纵向分层,横向归纳合并,使得层与层之间,组件与组件之间,业务模块与业务模块之间具有明确的范围边界,每个业务模块作为一个独立的应用进行开发处理,将原本所有的业务一同进行编译的过程划分成独立的业务模块,并各自编译各自需要的代码。对于各个业务模块而言,代码量的大幅降低,整个编译时间也随之大幅降低,进而提高开发效率。
如图5所示,本发明实施例提供的一种组件化构建装置,用于执行如图1所示的组件化构建方法的相关步骤,该装置包括:
代码划分模块10,用于将软件代码按照业务特征和功能特征进行划分;业务组件封装模块20,用于将符合业务特征的软件代码封装为业务组件;功能组件封装模块30,用于将符合功能特征的软件代码封装为功能组件;工具类创建模块40,用于创建管理工具类,所述管理工具类是指用于调度所述业务组件和功能组件的工具类;业务模块归纳模块50,用于将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过管理工具类调度业务组件,以由所述业务组件调用功能组件中的相应功能;功能模块归纳模块60,用于将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
进一步地,所述业务模块通过功能模块调用对应的功能。
进一步地,还包括:协议模块创建模块,即协议工程中接口声明用于创建用于实现业务组件与功能组件之间、业务组件与业务模块之间、功能组件与功能模块之间通信的协议模块;文件目录建立模块,用于在协议模块中建立与所述业务模块对应的文件目录,所述文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
进一步地,还包括:路径选择工具库管理模块,用于管理和维护所述业务模块和功能模块的调用方法、声明周期以及路径选择的逻辑,所述路径选择的逻辑包括创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径;所述调用方法供所述业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
如图6所示,本发明实施例提供了一种电子设备,包括:存储器601,用于存储程序指令;处理器602,用于调用并执行所述存储器中的程序指令,以实现上述实施例所述的组件化构建方法。
本实施例中,处理器602和存储器601可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,当组件化构建装置的至少一个处理器执行所述计算机程序时,组件化构建装置执行上述实施例所述的组件化构建方法。
所述的可读存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于组件化构建装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (10)
1.一种组件化构建方法,其特征在于,包括以下步骤:
将软件代码按照业务特征和功能特征进行划分;
将符合业务特征的软件代码封装为业务组件;
将符合功能特征的软件代码封装为功能组件;
创建管理工具类,所述管理工具类是指用于调度所述业务组件和功能组件的工具类;
将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过所述管理工具类调度业务组件,以由所述业务组件调用功能组件中的相应功能;
将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
2.根据权利要求1所述的方法,其特征在于,所述业务模块通过功能模块调用对应的功能。
3.根据权利要求1所述的方法,其特征在于,还包括:
创建用于实现业务组件和业务组件之间,业务组件和功能模块之间,功能模块和功能模块之间通信的协议模块;
在协议模块中建立与所述业务模块对应的文件目录,所述文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
4.根据权利要求1所述的方法,其特征在于,还包括:
创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径;
所述业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
5.一种组件化构建装置,其特征在于,包括:
代码划分模块,用于将软件代码按照业务特征和功能特征进行划分;
业务组件封装模块,用于将符合业务特征的软件代码封装为业务组件;
功能组件封装模块,用于将符合功能特征的软件代码封装为功能组件;
工具类创建模块,用于创建管理工具类,所述管理工具类是指用于调度所述业务组件和功能组件的工具类;
业务模块归纳模块,用于将业务对应的软件代码按照需求归纳为多个业务模块,所述业务模块用于通过管理工具类调度业务组件,以由所述业务组件调用功能组件中的相应功能;
功能模块归纳模块,用于将功能对应的软件代码按照需求归纳为多个功能模块,所述功能模块用于实现功能组件的相应功能的调用。
6.根据权利要求5所述的装置,其特征在于,所述业务模块通过功能模块调用对应的功能。
7.根据权利要求5所述的装置,其特征在于,还包括:
协议模块创建模块,用于创建用于实现业务组件和业务组件之间,业务组件和功能模块之间,功能模块和功能模块之间通信的协议模块;
文件目录建立模块,用于在协议模块中建立与所述业务模块对应的文件目录,所述文件目录存储有业务模块的服务接口、接口中返回的数据实体对象以及用于找到功能组件中的功能模块的路径声明。
8.根据权利要求5所述的装置,其特征在于,还包括:
路径选择工具库管理模块,用于管理和维护所述业务模块和功能模块的调用方法、声明周期以及路径选择的逻辑,所述路径选择的逻辑包括创建用于实现调用过程的路径工具库,所述路径工具库用于提供调用路径;所述调用方法供所述业务模块利用路径工具库提供的调用路径,实现通过业务组件调用功能组件中的相应功能。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~4任一项所述的组件化构建方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当组件化构建装置的至少一个处理器执行所述计算机程序时,组件化构建装置执行权利要求1~4任一项所述的组件化构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910526372.0A CN110399119A (zh) | 2019-06-18 | 2019-06-18 | 一种组件化构建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910526372.0A CN110399119A (zh) | 2019-06-18 | 2019-06-18 | 一种组件化构建方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399119A true CN110399119A (zh) | 2019-11-01 |
Family
ID=68323284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910526372.0A Pending CN110399119A (zh) | 2019-06-18 | 2019-06-18 | 一种组件化构建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399119A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008009A (zh) * | 2019-11-05 | 2020-04-14 | 贝壳技术有限公司 | 基于Flutter的业务组件化方法及系统 |
CN111708521A (zh) * | 2020-06-18 | 2020-09-25 | 北京智芯微电子科技有限公司 | 电力系统台区智能终端的软件构建方法及软件构建装置 |
CN111796817A (zh) * | 2020-07-22 | 2020-10-20 | 睿智合创(北京)科技有限公司 | 针对iOS高内聚低耦合处理方法、系统及电子设备 |
CN111949246A (zh) * | 2020-08-13 | 2020-11-17 | 国家电网有限公司 | 新能源电力行业应用的创建方法及装置 |
CN112162732A (zh) * | 2020-10-13 | 2021-01-01 | 广州乐摇摇信息科技有限公司 | 模块构建方法、装置、存储介质及电子装置 |
CN112486481A (zh) * | 2020-12-03 | 2021-03-12 | 北京展心展力信息科技有限公司 | 多模块分层架构实现方法、装置、电子设备及介质 |
CN113220336A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 代码处理方法、装置、介质及电子设备 |
CN113472903A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN113688141A (zh) * | 2021-10-25 | 2021-11-23 | 武汉万云网络科技有限公司 | 一种应用功能设计方法及软件开发平台 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN116991380A (zh) * | 2023-09-21 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种应用程序的构建方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827527B1 (en) * | 2004-02-12 | 2010-11-02 | Chiluvuri Raju V | System and method of application development |
CN103399754A (zh) * | 2013-08-19 | 2013-11-20 | 银联商务有限公司 | 软件架构 |
US20140372963A1 (en) * | 2013-06-18 | 2014-12-18 | Ciambella Ltd. | Method and apparatus for customized software development kit (sdk) generation |
CN106406911A (zh) * | 2016-10-26 | 2017-02-15 | 国云科技股份有限公司 | 一种计算机软件系统功能组件化的方法 |
CN107133024A (zh) * | 2016-02-29 | 2017-09-05 | 北京广联达正源兴邦科技有限公司 | 基于osgi框架的业务管理系统 |
CN108287727A (zh) * | 2017-12-19 | 2018-07-17 | 北京趣拿软件科技有限公司 | 组件的调度方法和装置 |
CN108563432A (zh) * | 2018-03-14 | 2018-09-21 | 广东能龙教育股份有限公司 | 一种通过路由配置的Android应用程序组件化快速开发方法 |
-
2019
- 2019-06-18 CN CN201910526372.0A patent/CN110399119A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827527B1 (en) * | 2004-02-12 | 2010-11-02 | Chiluvuri Raju V | System and method of application development |
US20140372963A1 (en) * | 2013-06-18 | 2014-12-18 | Ciambella Ltd. | Method and apparatus for customized software development kit (sdk) generation |
CN105765527A (zh) * | 2013-06-18 | 2016-07-13 | 西安姆贝拉有限公司 | 用于定制的软件开发包(sdk)的方法和装置 |
CN103399754A (zh) * | 2013-08-19 | 2013-11-20 | 银联商务有限公司 | 软件架构 |
CN107133024A (zh) * | 2016-02-29 | 2017-09-05 | 北京广联达正源兴邦科技有限公司 | 基于osgi框架的业务管理系统 |
CN106406911A (zh) * | 2016-10-26 | 2017-02-15 | 国云科技股份有限公司 | 一种计算机软件系统功能组件化的方法 |
CN108287727A (zh) * | 2017-12-19 | 2018-07-17 | 北京趣拿软件科技有限公司 | 组件的调度方法和装置 |
CN108563432A (zh) * | 2018-03-14 | 2018-09-21 | 广东能龙教育股份有限公司 | 一种通过路由配置的Android应用程序组件化快速开发方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111008009A (zh) * | 2019-11-05 | 2020-04-14 | 贝壳技术有限公司 | 基于Flutter的业务组件化方法及系统 |
CN111008009B (zh) * | 2019-11-05 | 2023-02-24 | 贝壳技术有限公司 | 基于Flutter的业务组件化方法及系统 |
CN113220336A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 代码处理方法、装置、介质及电子设备 |
CN111708521A (zh) * | 2020-06-18 | 2020-09-25 | 北京智芯微电子科技有限公司 | 电力系统台区智能终端的软件构建方法及软件构建装置 |
CN111796817A (zh) * | 2020-07-22 | 2020-10-20 | 睿智合创(北京)科技有限公司 | 针对iOS高内聚低耦合处理方法、系统及电子设备 |
CN111949246A (zh) * | 2020-08-13 | 2020-11-17 | 国家电网有限公司 | 新能源电力行业应用的创建方法及装置 |
CN112162732A (zh) * | 2020-10-13 | 2021-01-01 | 广州乐摇摇信息科技有限公司 | 模块构建方法、装置、存储介质及电子装置 |
CN112486481A (zh) * | 2020-12-03 | 2021-03-12 | 北京展心展力信息科技有限公司 | 多模块分层架构实现方法、装置、电子设备及介质 |
CN112486481B (zh) * | 2020-12-03 | 2024-03-19 | 北京展心展力信息科技有限公司 | 多模块分层架构实现方法、装置、电子设备及介质 |
CN113472903A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN113688141A (zh) * | 2021-10-25 | 2021-11-23 | 武汉万云网络科技有限公司 | 一种应用功能设计方法及软件开发平台 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN114995792B (zh) * | 2022-07-19 | 2023-03-14 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN116991380A (zh) * | 2023-09-21 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种应用程序的构建方法、装置、电子设备及存储介质 |
CN116991380B (zh) * | 2023-09-21 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 一种应用程序的构建方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399119A (zh) | 一种组件化构建方法、装置、电子设备及存储介质 | |
CN107526624B (zh) | 一种基于Java虚拟机的智能合约执行引擎 | |
FI109069B (fi) | Ohjelmistorakenne tietoliikennekytkentäjärjestelmiä varten | |
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
CN101421711A (zh) | 用于资源受限设备的虚拟执行系统 | |
CN103501308A (zh) | 分布式云应用部署系统和/或相关的方法 | |
CN101853152B (zh) | 一种生成用户图形界面的方法和系统 | |
CN112463211A (zh) | 一种兼容多种开发架构的系统架构改造方法及系统架构 | |
US9542161B2 (en) | Method and system for generating a source code for a computer program for execution and simulation of a process | |
CN109144619A (zh) | 图标字体信息处理方法、装置及系统 | |
CN103473034A (zh) | 一种动态发布Web 服务的方法和装置 | |
Praehofer et al. | Concepts and architecture of a simulation framework based on the JavaBeans component model | |
US9632772B2 (en) | System and method of reconstructing complex custom objects | |
CN102520965A (zh) | 消息处理方法及系统 | |
CN113435012A (zh) | 一种分布式的飞行器模拟仿真方法、装置和电子设备 | |
CN101118497A (zh) | 一种类装载处理的方法及装置 | |
CN111611089A (zh) | 一种基于异步的声明式的微服务调度方法 | |
Costa et al. | The application of UML and an open distributed process framework to information system design | |
CN113626128B (zh) | 视听媒体微服务第三方模块接入方法、系统、电子设备 | |
CN116107869A (zh) | 编排测试方法和装置、电子设备和可读存储介质 | |
CN102523229B (zh) | 一种信息的访问方法和设备 | |
CN104869172B (zh) | 异构系统下多应用的数据交互方法和数据交互系统 | |
Heydarnoori et al. | Towards an automated deployment planner for composition of web services as software components | |
CN114327383A (zh) | 基于soa架构中间件的服务配置系统、方法及可读存储介质 | |
CN1489084A (zh) | 一种开放的gis开发中间件系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191101 |
|
RJ01 | Rejection of invention patent application after publication |