介绍

服务层是写业务逻辑的地方,服务层最重要的是粒度划分及业务边界划分。

一般在模块控制器中调用服务层代码处理业务逻辑,控制器中可调用多个服务,组装数据返回给前端。

示例

调用演示

/app/demo/test/index 接口中有调用 test_service的演示代码

结构

image.png

1、服务层在 services目录,每个二级目录 是一个服务层。
2、handler.go 是服务句柄,单例。接口方式实现。
handler.go 可看到该服务实现了哪些方法,相当于一个索引,当服务比较复杂,方法较多时,这里可以一目了然的对该服务进行了解。

架构师可以在服务层 定义模块和边界,需要实现的方法,参数和返回

image.png