一种Web系统后端架构设计方法及计算机设备技术方案

技术编号:33203912 阅读:41 留言:0更新日期:2022-04-24 00:45
本发明专利技术公开了一种Web系统后端架构设计方法及计算机设备。该方法包括:建立Web框架的基本层次结构,所述基本层次结构包括:app控制层、bll业务逻辑层和dal数据访问层;定义实体类包;定义配置类包;定义工具类包;定义资源文件;定义代码生成规范;定义类和类的继承;定义调用关系。本发明专利技术实施例提供的技术方案,提供了一套功能完整而又小巧灵活的Web后端架构,数据库设计完成后,在架构设计的基础上,可以通过代码模板快速生成高可用性的新项目,避免了传统信息化系统中反复创造轮子的问题。了传统信息化系统中反复创造轮子的问题。了传统信息化系统中反复创造轮子的问题。

【技术实现步骤摘要】
一种Web系统后端架构设计方法及计算机设备


[0001]本专利技术实施例计算机
,尤其涉及一种Web系统后端架构设计方法及计算机设备。

技术介绍

[0002]随着互联网技术的快速发展,前后端分离的Web系统逐渐得到业界的广泛采用。这种前端与后端分离的目的之一是做到专业化分工,提高项目的质量和开发效率,还可以降低前端对后端的依耐性。
[0003]现阶段的Web后端项目开发过程中,开发人员为了实现项目功能,通常非常依赖自身的编程能力,且需要耗费大量时间,也即计算机行业中常说的“重复造轮子”。即使程序员想要在公开的文档社区中参考他人封装好的组件,寻找轮子的过程也并不轻松;好不容易找到一个轮子,也学不会用法;好不容易能运行,很多地方与需求不一致,但是又不会改,最后还是变成自己写轮子。
[0004]这种情况的最佳体现,就是曾经有一段时间遍地开花的PHP框架。每一个写框架的人都认为自己写的框架才是最好的轮子,甚至很多PHP新人,对几个成熟框架浅尝辄止后,也纷纷投身写框架的行列。成品大部分看过去却是大同小异,只是语法层面更符合作者本人的习惯,而缺乏大量的测试以及文档社区,最终的结果就是一个半成品然后无疾而终。
[0005]现有技术需要提供一套合理的前后端分离架构,在架构设计的基础上帮助程序员快速生成新项目,避免传统信息化系统中反复创造轮子的问题。

技术实现思路

[0006]本专利技术实施例提供一种Web系统后端架构设计方法及计算机设备,以实现Web系统后端新项目的快速生成。
[0007]第一方面,本专利技术实施例提供了一种Web系统后端架构设计方法,该方法包括:
[0008]建立Web框架的基本层次结构,所述基本层次结构包括:app控制层、bll业务逻辑层和dal数据访问层;其中,所述app层用于对外提供接口服务,和前端或第三方进行交互,接收传入参数、返回操作结果;所述bll层用于业务逻辑的控制、增删改查动作日志的详细记录;所述dal层用于数据库访问;
[0009]定义实体类包,包括:查询参数实体和数据访问实体;
[0010]定义配置类包,包括:SpringBoot的配置项、全局异常、过滤器、拦截器、注解、枚举和配置;
[0011]定义工具类包,包括:自定义的工具类、雪花算法生成器和日期时间格式转换器;
[0012]定义资源文件,所述资源文件用于放置dal层的映射文件和程序的配置文件;
[0013]定义代码生成规范,包括:将完全由模板生成的代码,部分由代码模板生成的代码和全部手写代码划分到不同包中进行保存;其中,所述完全由代码模板生成的代码禁止修改,所述部分由代码模板生成的代码只生成一次,后续允许修改;
[0014]定义类和类的继承,包括:生成代码的包中的类继承于顶级父类,只生成一次的代码继承于生成代码的包中的类;
[0015]定义调用关系,包括:当bll包中的类调用bll包中的类,和/或bll包中的类调用dal包中的类时,split包中的类只能调用split包中的类,unity包中的类只能调用unity包中的类。
[0016]第二方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的Web系统后端架构设计方法。
[0017]本专利技术实施例通过建立Web框架的基本层次结构,所述基本层次结构包括:app控制层、bll业务逻辑层和dal数据访问层;定义实体类包;定义配置类包;定义工具类包;定义资源文件;定义代码生成规范;定义类和类的继承;定义调用关系。提供了一套功能完整而又小巧灵活的Web后端架构,数据库设计完成后,在架构设计的基础上,可以通过代码模板快速生成高可用性的新项目,避免了传统信息化系统中反复创造轮子的问题。
附图说明
[0018]图1为本专利技术实施例一提供的一种Web系统后端架构设计方法的流程图;
[0019]图2为本专利技术实施例二提供的一种Web系统后端架构设计方法的流程图;
[0020]图3是本专利技术实施例三提供的一种计算机设备的结构示意图。
具体实施方式
[0021]下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。
[0022]实施例一
[0023]图1为本专利技术实施例一提供的一种Web系统后端架构设计方法的流程图,可适用于Web后端项目的开发过程。在具体的Web后端项目开发工作中,开发人员首先根据本专利技术实施例所提供的方法制定Web系统后端架构,然后将通用的必须手写的代码放入其中。接下来配置代码模板,具体包括分别配置数据库、配置工程名称、配置生成文件夹(即配置要生成的代码到什么位置),其中的生成文件夹是按照架构中指定的项目目录来生成的,最后点击生成。后续如果数据库表结构有更新,只需要重新配置代码模板,重新生成(纯生成的)受影响的代码即可。
[0024]Web系统后端架构设计方法具体包括如下步骤:
[0025]S101、建立Web框架的基本层次结构,所述基本层次结构包括:app控制层、bll业务逻辑层和dal数据访问层;其中,所述app层用于对外提供接口服务,和前端或第三方进行交互,接收传入参数、返回操作结果;所述bll层用于业务逻辑的控制、增删改查动作日志的详细记录;所述dal层用于数据库访问;
[0026]其中,Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架。本专利技术实施例采用通用的三层架构,即控制层(app)、业务逻辑层(bll)和数据访问层(dal)三
层架构,采用SpringBoot作为主框架,MyBatis作为数据访问层框架。三层架构中大部分的类可用代码生成器根据数据库表生成而来。
[0027]S102、定义实体类包,包括:查询参数实体和数据访问实体;
[0028]其中,实体类包(ent)里面的实体和数据库中的表是一一对应的,例如数据库中使用用户表,相应的ent中就会有用户表(user)的generate类和继承的extend类,及parameter(参数,用于查询时传参的)类。
[0029]S103、定义配置类包,包括:SpringBoot的配置项、全局异常、过滤器、拦截器、注解、枚举和配置;
[0030]其中,配置类包中的文件用于提供相应的功能。各功能包中的类继承于配置类包的中的类。
[0031]S104、定义工具类包,包括:自定义的工具类、雪花算法生成器和日期时间格式转换器;
[0032]其中,工具类包中的文件用于提供JAVA开发中常用的工具类。
[0033]S105、定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Web系统后端架构设计方法,其特征在于,包括:建立Web框架的基本层次结构,所述基本层次结构包括:app控制层、bll业务逻辑层和dal数据访问层;其中,所述app层用于对外提供接口服务,和前端或第三方进行交互,接收传入参数、返回操作结果;所述bll层用于业务逻辑的控制、增删改查动作日志的详细记录;所述dal层用于数据库访问;定义实体类包,包括:查询参数实体和数据访问实体;定义配置类包,包括:SpringBoot的配置项、全局异常、过滤器、拦截器、注解、枚举和配置;定义工具类包,包括:自定义的工具类、雪花算法生成器和日期时间格式转换器;定义资源文件,所述资源文件用于放置dal层的映射文件和程序的配置文件;定义代码生成规范,包括:将完全由模板生成的代码,部分由代码模板生成的代码和全部手写代码划分到不同包中进行保存;其中,所述完全由代码模板生成的代码禁止修改,所述部分由代码模板生成的代码只生成一次,后续允许修改;定义类和类的继承,包括:生成代码的包中的类继承于顶级父类,只生成一次的代码继承于生成代码的包中的类;定义调用关系,包括:当bll包中的类调用bll包中的类,和/或bll包中的类调用dal包中的类时,split包中的类只能调用split包中的类,unity包中的类只能调用unity包中的类。2.根据权利要求1所述的方法,其特征在于,所述定义代码生成规范还包括:定义extend包下的类允许手动更改;定义generate包下的类不允许手动更改;除纯手写的代码外,定义unity包下的类不允许手动更改;除完全由模板生成的代码外,定义split包下的类允许手动更改;除base包和custom包外,定义app、bll、dal、ent、xml包下的类和文件都是根据数据模型实体用代码模板生成的。3.根据权利要求2所述的方法,其特征在于,所述定义代码生成规范还包括:定义dal包和xml包中,未经架构师同意不允许新加类;定义未经架构师同意不允许在app,bll,ent,config的第一层中新建包或类,第二层中新建的包放到custom包中;定义config包和utl包中的...

【专利技术属性】
技术研发人员:孟宪志冯宇波张俊杰毛勇岗
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1