golang 使用 Context 实现 IoC 容器
golang 使用 Context 实现 IoC 容器
参考文章 控制反转(IoC)与依赖注入(DI) 指出了依赖注入可以降低程序的耦合性。 能更好的拆分功能与基础设施。

那么在 golang 中又怎么实现呢?

- 实现了一个
MysqlDriver实现我们所有的数据存取操作。 并在全局域中实例化了一个对象my。 - 在
main.go中创建了一个ctx := context.Background() - 使用使用
ctx作为 IoC 容器, 使用db作为 key 将my对象存放进去。 - 在
save(ctx)正常传递 ctx - 在
save()函数内部, 使用 context 特性, 将db对应的对象取出来, 并进行db.(*MysqlDriver)断言,还原成my实例对象。 - 使用
my的方法, 例如my.Save()进行数据存储操作。
至此, context 实现了 IoC 容器的功能。
- 原文链接:https://typonotes.com/posts/2021/07/27/ioc-by-golang-context/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。


