我这里指的全局变量是一个 Standalone App 要的数据库链接池之类的基本整个 App 都要用的东西。不是什么随便一个 Debug Flag 都放全局变量。
在用 Golang 的时候因为没什么 DI Framework (用过 Uber 做的一个叫什么忘记了,反正平白无故整天复杂性),现在在写 .NET;我得说 DI 确实整理好了代码的逻辑,但是也造成了 Cycle Dependencies 的问题。
这时候基本上就要把一部份 Service 中的东西才出来另起炉灶再弄一个 Service,增添不必要的麻烦。
用 C# 的时候没有遇到 Go 中的不能循环导入的问题,应该是 using 语句被编译器处理好了只包含使用了的 symbols,然后在依赖注入这里翻车了。
怎么没有一个十全十美的 tech stack 啊 🤔