请问这个repo 目录用途是什么?
来源:2-3 为工程设计合理的目录结构(二)

慕斯5059536
2022-08-26
1、请问这个repo 目录用途是什么?
2、为什么是repo字眼
1回答
-
少林码僧
2022-08-26
1. repo存放的是数据库操作类,数据库 CRUD 都在这个目录里,它不包含任何的业务逻辑代码,我们使用的是gorm,这里放的是 ORM 操作相关的代码;如果服务不直接请求数据库,也可以放其他服务请求的代码.
2. repo的分层理念来自The Clean Architecture,简洁架构的方法论.
下面我们简单了解下The Clean Architecture.
The Clean Architecture是业界基本达成共识的一套架构设计的方法论,这里所说的架构不仅仅指我们的服务设计的架构,比如微服务架构,单体架构这些,它不与具体的语言相关联,也不与具体的技术方向相关联.它适用于所有语言.
简洁架构提供了一些分层和依赖原则
简洁架构分为了四层
Entities:实体
Usecase:表达应用业务规则,对应的是应用层,它封装和实现系统的所有用例;
Interface Adapters:这一层的软件基本都是一些适配器,主要用于将用例和实体中的数据转换为外部系统如数据库或 Web 使用的数据;
Framework & Driver:最外面一圈通常是由一些框架和工具组成,如数据库 Database, Web 框架等;
不管从事哪方面的开发,上面的一些原则都可以在编码过程中作为参考.
而repo就是根据上面的分层思想来设计的,在项目设计上我们参考上面的分层思想将项目分为四层:
models
repo
service
api
models
封装了各种实体类对象,与数据库交互的、与 UI 交互的等等,任何的实体类都应该放在这里
repo
这里存放的是数据库操作类,数据库 CRUD 都是在这一层
service
这里是业务逻辑层,所有的业务逻辑代码都在这一层
api
这里是接收外部请求的代码,比如gin 对应的 handler、gRPC、其他 REST API 框架接入层等
10
相似问题