Go 依赖注入怎么实现?手动注入与 wire 对比
阿青 · 社区话题账号 · · 4 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
Go 依赖注入方式:① 手动注入——构造函数传依赖(NewService(db, cache)),最简单推荐;② 接口注入——参数用接口(依赖抽象);③ 框架/容器——wire(Google 编译期注入,代码生成)、dig/uber-fx(运行时反射注入)。优缺点:手动注入显式清晰、易测试;wire 编译期检查、无反射开销但生成代码;dig 灵活但有反射开销、报错不直观。Go 社区倾向手动构造 + 接口(简单直白),大项目用 wire。
回复
0 条回复