当前位置:网站首页 > Go语言开发 > 正文

若依开发文档(开发文档包括)



项目结构

  • 从零开始 01:视频课程导读:项目简介、功能列表、技术选型
  • 从零开始 04:自顶向下,讲解项目的整体结构(上)
  • 从零开始 04:自顶向下,讲解项目的整体结构(下)

后端采用模块化的架构,按照功能拆分成多个 Maven Module,提升开发与研发的效率,带来更好的可维护性。

一共有类 Maven Module:

Maven Module 作用 Maven 依赖版本管理 Java 框架拓展 XXX 功能的 Module 模块 管理后台 + 用户 App 的服务端

下面,我们来逐个看看。

该模块是一个 Maven Bom,只有一个 文件,定义项目中所有 Maven 依赖的版本号解决依赖冲突问题。

详细的解释,可见 《微服务中使用 Maven BOM 来管理你的版本依赖 》 文章。

从定位上来说,它和 Spring Boot 的 和 Spring Cloud 的 是一致的。

实际上, 本质上还是个单体项目,直接在根目录 管理依赖版本会更加方便,也符合绝大多数程序员的认知。但是要额外考虑一个场景,如果每个 模块都维护在一个独立的 Git 仓库,那么 就可以在多个 模块下复用。

该模块是 项目的框架封装,其下的每个 Maven Module 都是一个组件,分成两种类型:

① 技术组件:技术相关的组件封装,例如说 MyBatis、Redis 等等。

Maven Module 作用 定义基础 pojo 类、枚举、工具类等 Web 封装,提供全局异常、 访问日志等 WebSocket 封装,提供 Token 认证、WebSocket 集群广播、Message 监听 认证授权,基于 Spring Security 实现 数据库 操作,基于 MyBatis Plus 实现 缓存操作,基于 Spring Data Redis + Redisson 实现 消息队列,基于 Redis 实现,支持集群消费和广播消费 定时任务,基于 Quartz 实现,支持集群模式 服务保障,提供幂等、分布式锁、限流、熔断等功能 Excel 导入导出,基于 EasyExcel 实现 服务监控,提供链路追踪、日志服务、指标收集等功能 单元测试,基于 Junit + Mockito 实现 【已合并】 文件客户端,支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、SFTP、数据库等 【已合并】 验证码 Captcha,提供滑块验证码 【已合并】 工作流,基于 Flowable 实现

② 业务组件:业务相关的组件封装,例如说数据字典、操作日志等等。如果是业务组件,名字会包含 关键字。

Maven Module 作用 SaaS 多租户 数据权限 操作日志 支付客户端,对接微信支付、支付宝等支付平台 地区 & IP 库

每个组件,包含两部分:

  1. 包:组件的核心封装,拓展相关的功能。
  2. 包:组件的 Spring Boot 自动配置。

 示例

该模块是 XXX 功能的 Module 模块,目前内置了 8 个模块。

项目 说明 是否必须 系统功能 √ 基础设施 √ 会员中心 x 工作流程 x 支付系统 x 大屏报表 x 商城系统 x ERP 系统 x CRM 系统 x AI 大模型 x 微信公众号 x

每个模块包含两个 Maven Module,分别是:

Maven Module 作用 提供给其它模块的 API 定义 模块的功能的具体实现

例如说, 想要访问 的用户、部门等数据,需要引入 子模块。示例如下:

引用的示例

子模块的项目结构如下:

 项目结构

所在包 类 作用 示例 Api 接口 提供给其它模块的 API 接口 AdminUserApi DTO 类 Api 接口的入参 ReqDTO、出参 RespDTO LoginLogCreateReqDTO DeptRespDTO Enum 类 字段的枚举 LoginLogTypeEnum DictTypeConstants 类 数据字典的枚举 DictTypeConstants ErrorCodeConstants 类 错误码的枚举 ErrorCodeConstants

子模块的项目结构如下:

 项目结构

所在包 类 作用 示例 ApiImpl 类 提供给其它模块的 API 实现类 AdminUserApiImpl Controller 类 提供给管理后台的 RESTful API,默认以 作为前缀。
例如 登录接口 AuthController VO 类 Admin Controller 接口的入参 ReqVO、出参 RespVO AuthLoginReqVO AuthLoginRespVO Controller 类, 以 App 为前缀 提供给用户 App 的 RESTful API,默认以 作为前缀。
例如 登录接口 AppAuthController VO 类, 以 App 为前缀 App Controller 接口的入参 ReqVO、出参 RespVO AppAuthLoginReqVO AppAuthLoginRespVO 文件 IDEA Http Client 插件 ,模拟请求 RESTful 接口 AuthController.http Service 接口 业务逻辑的接口定义 AdminUserService ServiceImpl 类 业务逻辑的实现类 AdminUserServiceImpl - Data Access Layer,数据访问层 DO 类 Data Object,映射数据库表、或者 Redis 对象 AdminUserDO Mapper 接口 数据库的操作 AdminUserMapper RedisDAO 类 Redis 的操作 LoginUserRedisDAO Convert 接口 DTO / VO / DO 等对象之间的转换器 UserConvert Job 类 定时任务 DemoJob - Message Queue,消息队列 Message 类 发送和消费的消息 SmsSendMessage Producer 类 消息的生产者 SmsProducer Producer 类 消息的消费者 SmsSendConsumer - 模块自身的框架封装

总结来说,每个模块采用三层架构 + 非严格分层,如下图所示:

项目分层

该模块是后端 Server 的主项目,通过引入需要 业务模块,从而实现提供 RESTful API 给 、 等前端项目。

本质上来说,它就是个空壳(容器)!如下图所示:

 项目

前端一共有六个项目,分别是:

项目 说明 基于 Vue3 + element-plus 实现的管理后台 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 基于 Vue2 + element-ui 实现的管理后台 基于 Vue3 + naive-ui 实现的大屏报表 基于 uni-app + uni-ui 实现的管理后台的小程序 基于 uni-app + uview 实现的用户 App

TODO 待补充

TODO 待补充

到此这篇若依开发文档(开发文档包括)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 苹果开发者账号出售(苹果开发者账号买卖 坐牢的风险大么)2025-01-10 09:54:06
  • csgomo队(csgomo队长最好成绩)2025-01-10 09:54:06
  • linux 微信开发者工具(微信开发者工具命令行)2025-01-10 09:54:06
  • csgomo队长(csgomouse战队人员)2025-01-10 09:54:06
  • 嵌入式驱动开发前景如何(嵌入式驱动开发前景如何)2025-01-10 09:54:06
  • 苹果开发者账号个人注册流程视频(苹果开发者账号个人注册流程视频怎么下载)2025-01-10 09:54:06
  • goa电路原理图(经典的电路图及工作原理)2025-01-10 09:54:06
  • 嵌入式驱动开发前景如何(简述嵌入式设备驱动的开发流程)2025-01-10 09:54:06
  • linux 微信小程序开发工具(微信开发者工具linux版)2025-01-10 09:54:06
  • 编程入门学什么语言好(编程入门好学吗)2025-01-10 09:54:06
  • 全屏图片