这门课解决什么场景
很多写 Go 的同学在项目变大后会遇到一个麻烦:业务代码里到处都是手动 new 实例、层层传依赖,改一个底层实现要动好几个文件。这门课讲的控制反转(IoC)容器,就是用来把“对象创建和组装”这件事统一接管,让你在业务代码里只声明需要什么,不用管它从哪来。它不是教你从零造轮子去替代社区框架,而是帮你搞懂日常用的 gin 脚手架底层是怎么把服务实例挂上去的,适合想从“能写接口”进阶到“能设计项目结构”的后端开发。
适合什么基础与建议看法
这课不喂基础,默认你已经能熟练写 Go 语法、用过 gin 跑过几个接口,最好碰过 gorm。纯新手看了容易懵,建议先把 gin 的路由和中间件跑通再来看。看的时候建议按这个顺序:先看前两讲理解“按类型存取”的思路,这是整个容器的骨架;接着跳到第七讲的接口注入和循环依赖,这是实际项目最容易卡住的地方;最后拿第八讲的 gorm 注入当练手,把数据库连接对象挂进容器跑一遍。中间几讲讲动态注册的演进,可以对照着源码边看边敲,别只看不练。
学完能独立做什么与资料怎么用
学完你能给自己的 gin 项目写一个简易容器,把 service、dao、orm 这些对象统一注册和注入,不用再在 handler 里手动组装依赖。虽然课程演示和最终脚手架实现会有差异,但核心思路一致,理解了这层,再看脚手架源码就不会一头雾水。资料配合上,建议先把课程里的示例代码敲进一个空 gin 项目跑通,然后试着往里加一个自己写的 service 结构体,手动注册进容器并在接口里调出来。卡住了就回看对应那讲的依赖注入部分,比干读源码快得多。
本课程是gin脚手架研发课程的补充课程。分3次更完,短课程。讲一下使用go写一个简单好用IoC容器的方法。注意:课程演示和最终框架里使用会有些区别。课程里演示封
课程目录
* 第1讲:开张课、控制反转基本代码演示
* 第2讲:设计IoC容器初步雏形:基于类型的存储
* 第3讲:IoC容器初步: 处理依赖注入
* 第4讲:IoC容器进阶: 动态注入Bean的方式(上)
* 第5讲:IoC容器进阶: 动态注入Bean(中)
* 第6讲:IoC容器进阶: 动态注入Bean(下)
* 第7讲:IoC容器进阶: 支持接口注入、循环依赖注入
* 第8讲:示例:注入ORM的例子(gorm)






