CN110262797A - 一种应用模块化及路由跳转方法 - Google Patents
一种应用模块化及路由跳转方法 Download PDFInfo
- Publication number
- CN110262797A CN110262797A CN201910499122.2A CN201910499122A CN110262797A CN 110262797 A CN110262797 A CN 110262797A CN 201910499122 A CN201910499122 A CN 201910499122A CN 110262797 A CN110262797 A CN 110262797A
- Authority
- CN
- China
- Prior art keywords
- routing
- module
- level
- parameter
- page
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000009191 jumping Effects 0.000 claims abstract description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000001360 synchronised effect 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/30—Creation or generation of source code
- G06F8/36—Software reuse
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种应用模块化及路由跳转方法。它具体包括如下步骤:(1)主程序的根目录下,要配置好需要的模块;(2)在模块的根路径配置文件里配置一级路由,针对该模块要对其他模块开放跳转的页面添加注解来配置二级路由及对应需要的参数;(3)在编译过程中先读取一级路由,再基于注解生成二级路由,最后根据一级路由和二级路由生成路由表;(4)其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表,实现相应的跳转。本发明的有益效果是:把可重用的功能去除业务代码后实现模块以达到可以直接被其他应用直接使用,大大提高了开发效率。
Description
技术领域
本发明涉及应用程序开发相关技术领域,尤其是指一种应用模块化及路由跳转方法。
背景技术
公司每次要新开发一应用,都会发现新开发应用和现在的应用有很多功能是可以重用的。因此框架搭建时都要耗费大量的时间从原应用复制功能代码并去除相应业务逻辑代码。当某个工具类或基础功能代码优化后,不能直接同步到所有的应用,必须费时费力的每个应用都去优化一次。
公司早期版本开发了一个功能,在后续版本中要去除此功能,会发现难度特别大。由于对应的开发人员可能已经离职,而且随着版本迭代,此功能已经和整个项目密切的耦合一起。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种提高开发效率的应用模块化及路由跳转方法。
为了实现上述目的,本发明采用以下技术方案:
一种应用模块化及路由跳转方法,具体包括如下步骤:
(1)主程序的根目录下,要配置好需要的模块;
(2)在模块的根路径配置文件里配置一级路由,针对该模块要对其他模块开放跳转的页面添加注解来配置二级路由及对应需要的参数;
(3)在编译过程中先读取一级路由,再基于注解生成二级路由,最后根据一级路由和二级路由生成路由表;
(4)其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表,实现相应的跳转。
本发明主要是把和业务无关的可以重用的代码封装成模块,一旦其他应用需要使用时,直接引用模块使用,模块间的跳转方式使用路由来实现。本发明提出的方法是把这些可重用的功能去除业务代码后实现模块以达到可以直接被其他应用直接使用,大大提高了开发效率。
作为优选,在步骤(3)中,路由表中记录的是该模块所对应的路由路径及其对应的页面类和跳转需要的参数。
作为优选,在步骤(3)中,具体操作为:在编译过程中先读取一级路由,把读取到的一级路由存入一级路由表;遍历所有的页面,把带有路径注解的属性读取出来,添加为对应一级路由的子路由即是二级路由;在解析到二级路由时,遍历对应页面中的所有属性,把带注解的参数属性和参数名存入对应的二级路由属性中;最后生成代码自动注入二级路由与页面的映射表和页面与参数类型的映射表,生成一个完整的路由表。
作为优选,在步骤(4)中,具体操作为:其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表;先遍历一级路由表,找到对应的一级路由后,再通过二级路由从所示的页面映射表获取页面,参数类型映射表获取参数类型,将路由表的参数根据参数类型解析出参数,最后通过页面和参数实现跳转。
本发明的有益效果是:把可重用的功能去除业务代码后实现模块以达到可以直接被其他应用直接使用,大大提高了开发效率。
附图说明
图1、图2、图3、图4、图5、图6和图7是本发明一种实施例的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
一种应用模块化及路由跳转方法,具体包括如下步骤:
(1)主程序的根目录下,要配置好需要的模块;
(2)在模块的根路径配置文件(build.gradle)里配置一级路由,如图1中一级路由是key为host的modelname;针对该模块要对其他模块开放跳转的页面添加注解来配置二级路由及对应需要的参数,如图2中二级路由是test,参数是字符串类型info,例子中的测试页面的跳转路由路径为:"KKComp://modelname/test?info=angel";
(3)在编译过程中先读取一级路由,再基于注解生成二级路由,最后根据一级路由和二级路由生成路由表;路由表中记录的是该模块所对应的路由路径及其对应的页面类和跳转需要的参数;
具体操作为:在编译过程中先读取Key为host的参数即是一级路由,如图3所示,把读取到的一级路由存入一级路由表;遍历所有的页面,把带有@Route路径注解的属性读取出来,添加为对应一级路由的子路由即是二级路由,如图4所示;在解析到二级路由时,遍历对应页面中的所有属性,把带注解@Autowired的参数属性和参数名存入对应的二级路由属性中,如图5所示;最后生成代码自动注入二级路由与页面的映射表和页面与参数类型的映射表,如图6所示,生成一个完整的路由表;
(4)其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表,实现相应的跳转;
具体操作为:其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表;先遍历一级路由表,找到对应的一级路由后,再通过二级路由从所示的页面映射表获取(routeMapper)页面,参数类型映射表(paramsMapper)获取参数类型,将路由表的参数根据参数类型解析出参数,最后通过页面和参数实现跳转,如图7所示。
Claims (4)
1.一种应用模块化及路由跳转方法,其特征是,具体包括如下步骤:
(1)主程序的根目录下,要配置好需要的模块;
(2)在模块的根路径配置文件里配置一级路由,针对该模块要对其他模块开放跳转的页面添加注解来配置二级路由及对应需要的参数;
(3)在编译过程中先读取一级路由,再基于注解生成二级路由,最后根据一级路由和二级路由生成路由表;
(4)其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表,实现相应的跳转。
2.根据权利要求1所述的一种应用模块化及路由跳转方法,其特征是,在步骤(3)中,路由表中记录的是该模块所对应的路由路径及其对应的页面类和跳转需要的参数。
3.根据权利要求2所述的一种应用模块化及路由跳转方法,其特征是,在步骤(3)中,具体操作为:在编译过程中先读取一级路由,把读取到的一级路由存入一级路由表;遍历所有的页面,把带有路径注解的属性读取出来,添加为对应一级路由的子路由即是二级路由;在解析到二级路由时,遍历对应页面中的所有属性,把带注解的参数属性和参数名存入对应的二级路由属性中;最后生成代码自动注入二级路由与页面的映射表和页面与参数类型的映射表,生成一个完整的路由表。
4.根据权利要求3所述的一种应用模块化及路由跳转方法,其特征是,在步骤(4)中,具体操作为:其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表;先遍历一级路由表,找到对应的一级路由后,再通过二级路由从所示的页面映射表获取页面,参数类型映射表获取参数类型,将路由表的参数根据参数类型解析出参数,最后通过页面和参数实现跳转。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499122.2A CN110262797A (zh) | 2019-06-10 | 2019-06-10 | 一种应用模块化及路由跳转方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499122.2A CN110262797A (zh) | 2019-06-10 | 2019-06-10 | 一种应用模块化及路由跳转方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110262797A true CN110262797A (zh) | 2019-09-20 |
Family
ID=67917468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910499122.2A Pending CN110262797A (zh) | 2019-06-10 | 2019-06-10 | 一种应用模块化及路由跳转方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262797A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190224A (zh) * | 2021-04-26 | 2021-07-30 | 三江学院 | 一种基于数据路由的数据绑定方法 |
CN113608726A (zh) * | 2021-07-30 | 2021-11-05 | 三一专用汽车有限责任公司 | 代码生成方法、装置、电子设备及存储介质 |
CN113821193A (zh) * | 2020-11-26 | 2021-12-21 | 北京京东振世信息技术有限公司 | 一种信息生成的方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528108A (zh) * | 2016-10-31 | 2017-03-22 | 任子行网络技术股份有限公司 | 一种基于代码文件路由的web开发方法和装置 |
CN106815276A (zh) * | 2015-11-27 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 页面跳转方法及装置 |
CN106843899A (zh) * | 2017-02-09 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种基于Node.js平台的网页开发方法及装置 |
CN108897612A (zh) * | 2018-07-17 | 2018-11-27 | 北京京东金融科技控股有限公司 | 路由跳转的方法和装置 |
CN109542530A (zh) * | 2018-10-26 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于小程序架构的分级加载方法及装置 |
-
2019
- 2019-06-10 CN CN201910499122.2A patent/CN110262797A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815276A (zh) * | 2015-11-27 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 页面跳转方法及装置 |
CN106528108A (zh) * | 2016-10-31 | 2017-03-22 | 任子行网络技术股份有限公司 | 一种基于代码文件路由的web开发方法和装置 |
CN106843899A (zh) * | 2017-02-09 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 一种基于Node.js平台的网页开发方法及装置 |
CN108897612A (zh) * | 2018-07-17 | 2018-11-27 | 北京京东金融科技控股有限公司 | 路由跳转的方法和装置 |
CN109542530A (zh) * | 2018-10-26 | 2019-03-29 | 深圳点猫科技有限公司 | 一种基于小程序架构的分级加载方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821193A (zh) * | 2020-11-26 | 2021-12-21 | 北京京东振世信息技术有限公司 | 一种信息生成的方法、装置和存储介质 |
CN113821193B (zh) * | 2020-11-26 | 2023-09-26 | 北京京东振世信息技术有限公司 | 一种信息生成的方法、装置和存储介质 |
CN113190224A (zh) * | 2021-04-26 | 2021-07-30 | 三江学院 | 一种基于数据路由的数据绑定方法 |
CN113608726A (zh) * | 2021-07-30 | 2021-11-05 | 三一专用汽车有限责任公司 | 代码生成方法、装置、电子设备及存储介质 |
CN113608726B (zh) * | 2021-07-30 | 2023-08-11 | 三一专用汽车有限责任公司 | 代码生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262797A (zh) | 一种应用模块化及路由跳转方法 | |
CN106227668B (zh) | 数据处理方法和装置 | |
CN110471666A (zh) | 代码自动转换方法和装置、代码转换器及介质 | |
CN104156314B (zh) | 一种应用于测试系统的代码重用方法 | |
CN103995781B (zh) | 一种基于模型的构件测试用例生成方法 | |
US7610568B2 (en) | Methods and apparatus for making placement sensitive logic modifications | |
CN106293664A (zh) | 代码生成方法及装置 | |
De Silva et al. | First principles planning in BDI systems. | |
WO2022148305A1 (zh) | 一种芯片的系统级验证方法、系统及相关装置 | |
CN1454357A (zh) | Xml-机器人 | |
CN101866315B (zh) | 软件开发工具的测试方法及系统 | |
CN106055334A (zh) | 代码管理系统及方法 | |
CN110362310A (zh) | 一种基于不完全抽象语法树的代码语法错误修复方法 | |
CN106469049A (zh) | 一种文件扫描的方法及装置 | |
US20130239075A1 (en) | Method and system for repartitioning a hierarchical circuit design | |
CN112532517A (zh) | 基于领域特定语言实现ospf协议配置综合方案 | |
CN115858336A (zh) | 测试向量生成方法及装置、计算设备和存储介质 | |
CN104991810A (zh) | 自动添加apk到安卓系统中的方法及处理系统 | |
Benavent et al. | Linear programming based methods for solving arc routing problems | |
CN104378362B (zh) | 用于进行报文接口转换的方法及装置 | |
Rose | CRSX-combinatory reduction systems with extensions | |
US6957178B2 (en) | Incremental automata verification | |
CN108255495A (zh) | 一种基于Mediator的组件化方法及系统 | |
US20090064092A1 (en) | Visual programming language optimization | |
CN114895880A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190920 |