CN110262797A - 一种应用模块化及路由跳转方法 - Google Patents

一种应用模块化及路由跳转方法 Download PDF

Info

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
Application number
CN201910499122.2A
Other languages
English (en)
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.)
Hangzhou Miluoxing Technology (group) Co Ltd
Original Assignee
Hangzhou Miluoxing Technology (group) 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 Hangzhou Miluoxing Technology (group) Co Ltd filed Critical Hangzhou Miluoxing Technology (group) Co Ltd
Priority to CN201910499122.2A priority Critical patent/CN110262797A/zh
Publication of CN110262797A publication Critical patent/CN110262797A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software 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)中,具体操作为:其他模块发启跳转该模块所对应的路由请求时,解析该模块所对应的路由表;先遍历一级路由表,找到对应的一级路由后,再通过二级路由从所示的页面映射表获取页面,参数类型映射表获取参数类型,将路由表的参数根据参数类型解析出参数,最后通过页面和参数实现跳转。
CN201910499122.2A 2019-06-10 2019-06-10 一种应用模块化及路由跳转方法 Pending CN110262797A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 深圳点猫科技有限公司 一种基于小程序架构的分级加载方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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