这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
一、本堂课重点内容
本堂课的知识要点有哪些?
- 语言进阶
- 依赖管理
- 测试
- 项目实战
二、详细知识点介绍
本堂课介绍了哪些知识点?
语言进阶
- 并发VS并行
- Goroutine 线程VS协程
- 通信共享内存
- Channel通道
- 并发安全Lock
- WaitGroup
依赖管理
- Gopath 弊端:无法实现package的多版本控制。
- Go Vendor 弊端:无法控制依赖的版本,更新项目又可能出现依赖冲突,导致编译出错。
- Go Module
- 通过go.mod 文件管理依赖包版本
- 通过go get/go mod指令工具管理依赖包
- 依赖管理三要素
- 1.配置文件,描述依赖 go.mod
- 2.中心仓库管理依赖库 Proxy
- 3.本地工具 go get/mod
测试
- 单元测试
- Mock测试
- 基准测试
项目实战
- 需求分析
- 需求描述
- 需求用例
- ER图
- 代码开发
- 组件工具 Gin Go Mod(go mod init go get)
- Repository
- index
- 查询
- Service
- Controller
- 构建View对象
- 业务错误码
- Router
- 初始化数据索引
- 初始化引擎配置
- 构建路由
- 启动服务
- 测试运行
分层结构
数据层 Model
外部数据的增删查改
逻辑层 Entity
处理核心业务逻辑输出
视图层 view
处理和外部的交互逻辑
与SpringMVC相比
SpringMVC是一个Web层(控制层)的框架,主要用来负责与客户端(浏览器端)交互,以及业务逻辑的调用。 Spring框架是Service层(业务访问层)的框架。 SpringMVC的特点是简单、易用,性能佳。 SpringMVC替代了之前的Struts2框架,也是用于替代Servlet技术的功能。
三、实践练习例子
- 有什么实践举例帮助理解知识点?
- 抖音项目 待开发
四、课后个人总结
本人之前学过JavaWeb和Spring,忘的也差不多了,需要复习之前的用JavaWeb开发项目的逻辑,项目开发逻辑是有一些共同点,并学习Go语言开发项目。