首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
V2EX  ›  Go

Go 上的 DI 有什么比较好的解决方案

  •  
  •   index90 · 228 天前 · 2297 次点击
    这是一个创建于 228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题^ 目前看过 dig 和 wire,有人用过吗?有什么坑分享一下。

    第 1 条附言  ·  228 天前
    DI:依赖注入
    感谢 @50infivedays 提醒
    18 回复  |  直到 2019-03-05 17:29:14 +08:00
        1
    shallyy   228 天前
    GoCD
        2
    50infivedays   228 天前
    直接写依赖注入不好吗 di 这个缩写也太模糊了
        3
    ptyfork   228 天前
    @50infivedays

    还好我回复的慢,差点把 DI 当成 CI 了。
        4
    hanabi   228 天前 via iPhone
    facebook 也有个 inject 库
        5
    SabaPing   228 天前
    手动构造函数注入不用库
        6
    php01   228 天前
    用 go 去用依赖注入?问号脸。。。
        7
    Presbyter   228 天前
    选择用 go 就是为了追求更高的性能。所以不用依赖注入。
        8
    janxin   228 天前
    dig 是用反射实现的,其实还行

    wire 是代码生成的,如果不是很复杂的项目,代码生成不如手工写了
        9
    50infivedays   228 天前
    @ptyfork 我也想了一下 要不是提到了 wire 我也以为是 ci 的什么变种
        10
    zjsxwc   228 天前
    有没有基于 xml 文件的注入?

    wire 的方式看起来不爽啊
        11
    jlkm2010   228 天前
    建议换成 Java
        12
    fairyto2   228 天前 via iPhone
    还以为在说数据智能╮( ̄▽ ̄"")╭
        13
    Cbdy   228 天前   ♥ 2
    @Presbyter 依赖注入和性能有什么关系?
        14
    rockyou12   228 天前
    依赖注入有啥影响性能的……大部分启动时候扫一下就行了
        15
    reus   228 天前
    @php01 官方博客都教你用 wire,有什么问题?
        16
    Presbyter   228 天前
    @Cbdy go 的依赖注入( dig )用的反射实现的,反射性能不佳。
    当然,你要是能做到只在程序初始加载时做一次注入,那就无所谓了。
        17
    sampeng   228 天前 via iPhone
    出门左转是 java … go 需要啥依赖注入…
        18
    zjsxwc   227 天前
    如果不用 xml 配置注入的话,用注解注入我也喜欢。

    发现这个 facebook 的项目,它通过注解来注入比 wire 那种手动写一堆 NewXXXXX 函数来注入更自然:

    https://github.com/facebookgo/inject
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   878 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 21:01 · PVG 05:01 · LAX 14:01 · JFK 17:01
    ♥ Do have faith in what you're doing.