技术架构及如何快速开发技巧

02:28

每一个模块都是作为一个项目组进行开发。

02:53

部署架构描述:

02:57

首先有一个 GateWay,所有请求都会先打到 GateWay 上面。

GateWay 做一些限流、基本的权限认证。

03:30

GateWay 下面是一个 Web 层,Web 层可以分为多种 Web:

  • web 发票系统
  • web 支付管理平台

Web 的职责是聚合应用层,有权限控制。

权限控制包括数据权限和操作权限。

  • 数据权限:类似于 SQL 加上一个 WHERE
  • 操作权限:

04:23

下层就是 Service 层,职责是领域服务层,处理业务逻辑。

Service 层与 Web 层的区别是:Service 层不做权限,而 Web 层处理权限问题。

Service 层提供的是领域服务,例如:订单服务、用户服务。

07:13

命名都是基于这种部署特点。

命名规则如下,以 auth 模块为例,它被分为 3 个子模块:

  • auth-web
  • auth-center-api
  • auth-center

目前都是以后缀作为区别。

07:49

最终效果是我们会写出一些通用的领域服务,可以适配于多种场景。

08:11

我们的项目是如何快速开发的。

我们会抽象出几个概念:

  • Service 这层会使用一个代码生成器,它的特点是不需要考虑权限问题+只考虑领域建模,目前我们会基于一套脚手架。

op-archetypes 工程下给出了所有模板,也就是说模板已经都写好了,并处理了兼容性问题。

17:35

使用 live template 快速生成 User 类。

同时,编译项目,生成所有的增删改查代码。

此时,开发一个项目速度就很快了,只需要对实体进行建模,就可以利用代码生成器生成其他通用操作代码。