话题帖子服务端小程序实践心得| 青训营

126 阅读1分钟

项目地址

TransistorCat/topics-server (github.com)

已实现:

  1. 支持发布帖子
  2. id本地生成且要保证唯一性
  3. 解决map的并发问题
  4. 使用gorm接入MySQL

编码前准备

  1. 先梳理需求

image.png 用户浏览话题页面,每一个话题包含很多帖子。 2. 建立ER图(实体关系图)

什么是实体关系图(ERD)? (visual-paradigm.com)

image.png 从需求分析可以看出来是一对多的东西 3. 分层准备

image.png 用这样的三层架构可以很方便的解耦每一层的实现,同时做到数据的隔离。

数据层

  1. 根据ER图建立数据结构。
  2. 实现对数据的操作给逻辑层调用。

逻辑层

  1. 建立工作流结构,获取需要的数据。
  2. 编写工作流流程,梳理每个步骤。
  3. 编写工作流函数,实现单个步骤。

视图层

通过逻辑层加工的数据,与外界进行交互(格式匹配等等)。

总结

虽然三层架构会使代码量和文件量变多,但是这对未来程序的拓展与维护十分重要,像要使用MySQL等数据库只在数据层进行修改就行了。