Go实战项目esayNote | 青训营笔记

104 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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语言更适用于分布式与微服务项目,这一点我了解较少,需要及时跟上思路。