这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
昨天的笔记记录了Go语言项目框架相关的介绍,今天就不再进行总结,主要对Go实战项目esayNote进行总结介绍。
esayNote项目在github上的地址如下,项目地址,大家可以自行去查看项目的详细代码。
该项目主要实现了三个模块,分别是demoapi、demouser、demonote,下面将项目按照三个模块来进行详细的介绍。
demoapi模块
该模块主要是进行API服务,可以理解为与前端接口进行交互。
该模块主要用到的框架有http框架Hertz,RPC框架Kitex,注册中心使用etcd。
demoapi模块对应的实现功能有:
- 用户登录
- 用户注册
- 用户创建笔记
- 用户更新笔记
- 用户删除笔记
- 用户查询笔记
这一个模块大家如果不理解的话,可以将其简单的理解为JavaWeb项目中的Controller层。
demouser模块
该模块主要是用来执行数据库操作并且封装业务逻辑。
该模块实现的功能有以下几点:
- 创建用户
- 查询用户
- 校验用户
对于该模块用到的框架有RPC框架Kitex和ORM框架Gorm。
由于刚接触Go的框架,我简单的将这一个模块理解成了JavaWeb框架中的service层和dao层的一个合并。
demonote模块
这一个模块和demouser模块是同级的,只是用来实现不同的功能。
demonote模块实现功能主要有以下几点:
- 创建笔记
- 更新笔记
- 删除笔记
- 查询笔记
本模块和demouser模块用到的框架相同,我同样是将这个模块理解成service层和dao层的结合,用来向上一层提供业务调用。
课后总结
在学习Go语言进行web开发的时候,无论是开发环境还是框架的使用都有很大的差别,想要及时适应需要部署一个完整的项目才能够快速上手。并且我认为Go语言进行web开发的时候,整体的开发思路和架构和Java进行web开发还是有不同之处,Go语言更适用于分布式与微服务项目,这一点我了解较少,需要及时跟上思路。