在写一些 ts 项目的时候,被依赖注入烦到

查看 11|回复 0
作者:shakaraka   
烦了装饰器那套东西。在 TS 里,那版接近 stage 2 提案语义的装饰器基本已经成了事实标准,用接近 stage 3 语义来实现的又很少,规范本身到现在也没真正完全落地,用起来总有点别扭。
现在又是函数当道的时代,我就干脆写了一个完全不碰装饰器、不搞反射、不搞 token 注册,只用函数和“引用”来做依赖注入的库。
目前在公司几个 bun 项目里已经跑了一阵子,感觉还挺顺手。思路有点像 Go 里的 wire —— JS 生态里用代码生成来做依赖注入的比较少,主要还是 Go 那边玩得多。我当时就是看 wire 生成的那些注入样板代码时,突然有了点灵感。
在这之前,我做 DDD 的时候是完全不用 DI 库、全靠手动注入的,结果光是各种组装和传参就写了七八百行,写到后面整个人都麻了(谁说 JS 不需要依赖注入的?)。最后索性把这套思路实现成了现在这个简单的 IoC 。
https://github.com/MunMunMiao/dn-ioc
然后用 AI 翻译了一版 go 版本的,还没在正式项目用上,等以后有机会吧
https://github.com/MunMunMiao/go-ioc
您需要登录后才可以回帖 登录 | 立即注册

返回顶部