项目地址
TransistorCat/topics-server (github.com)
已实现:
- 支持发布帖子
- id本地生成且要保证唯一性
- 解决map的并发问题
- 使用gorm接入MySQL
编码前准备
- 先梳理需求
用户浏览话题页面,每一个话题包含很多帖子。
2. 建立ER图(实体关系图)
什么是实体关系图(ERD)? (visual-paradigm.com)
从需求分析可以看出来是一对多的东西
3. 分层准备
用这样的三层架构可以很方便的解耦每一层的实现,同时做到数据的隔离。
数据层
- 根据ER图建立数据结构。
- 实现对数据的操作给逻辑层调用。
逻辑层
- 建立工作流结构,获取需要的数据。
- 编写工作流流程,梳理每个步骤。
- 编写工作流函数,实现单个步骤。
视图层
通过逻辑层加工的数据,与外界进行交互(格式匹配等等)。
总结
虽然三层架构会使代码量和文件量变多,但是这对未来程序的拓展与维护十分重要,像要使用MySQL等数据库只在数据层进行修改就行了。