V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
index90

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

  •  
  •   index90 · Mar 4, 2019 · 5456 views
    This topic created in 2624 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Mar 4, 2019
    DI:依赖注入
    感谢 @50infivedays 提醒
    18 replies    2019-03-05 17:29:14 +08:00
    shallyy
        1
    shallyy  
       Mar 4, 2019
    GoCD
    50infivedays
        2
    50infivedays  
       Mar 4, 2019
    直接写依赖注入不好吗 di 这个缩写也太模糊了
    ptyfork
        3
    ptyfork  
       Mar 4, 2019
    @50infivedays

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

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

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

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

    https://github.com/facebookgo/inject
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3045 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 06:12 · PVG 14:12 · LAX 23:12 · JFK 02:12
    ♥ Do have faith in what you're doing.