这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
下面相关内容仅供本人回顾使用。如有错误,烦请评论反馈,感激不尽!!!
项目参考
需求模型与描述
青训营话题页forum.juejin.cn/youthcamp/p…
需求:社区话题页面
- 实现一个展示话题(标题,文字描述)和回帖列表的后端http接口;
- 本地文件存储数据(暂不考虑前端页面实现,仅实现一个本地web服务)
- 话题和回帖数据用文件存储
组件及技术点
-
web框架:Gin - github.com/gin-gonic/g…
- 了解go web框架的简单使用
-
分层结构设计:github.com/bxcodec/go-…
- 了解分层设计的概念
-
文件操作:读文件pkg.go.dev/io
-
数据查询:索引www.baike.com/wikiid/5527…
项目详情
需求用例
ER图
分层结构
-
数据层:数据Model,封装外部数据的增删改查。我们的数据存储在本地文件,通过文件操作拉取话题和帖子数据。数据层面向逻辑层,对逻辑层透明,屏蔽下游数据差异,也就是无论下游是文件,还是数据库或者微服务,对于逻辑层的接口模型是不变的。
-
逻辑层:业务Entity,处理核心业务逻辑输出。对应我们的需求,也就是话题页面,包括话题和回帖列表,并上送给视图层。
-
视图层:试图View,处理和外部的交互逻辑,我们封装JSON格式化的请求结构,用API形式访问就可以了。
组件工具
- Gin:高性能Go web框架
- Go Mod
实际操作请查看原学员手册内容。