The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
index90

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

  •  
  •   index90 · Mar 4, 2019 · 5904 views
    This topic created in 2804 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
    shallyy
    Mar 4, 2019
    1
    GoCD
    50infivedays
    50infivedays
    Mar 4, 2019
    2
    直接写依赖注入不好吗 di 这个缩写也太模糊了
    ptyfork
    ptyfork
    Mar 4, 2019
    3
    @50infivedays

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

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

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

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

    https://github.com/facebookgo/inject
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1922 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 01:10 · PVG 09:10 · LAX 17:10 · JFK 20:10
    ♥ Do have faith in what you're doing.