
1 KunMinX OP 我唯一能想到的是,保证构造入参的一致性,此外还有别的价值吗? |
2 troywinter 2019-09-15 12:42:46 +08:00 DI 啊,跟服务端的 spring 作用一样啊,因为国外那帮程序员得写测试代码啊,所以需要 DI |
3 momocraft 2019-09-15 12:45:08 +08:00 di 不算少的, dagger 可能只是出名 要找例子理解值明你可能不需要, 不用 |
4 crayygy 2019-09-15 12:54:22 +08:00 via iPhone 先理解了依赖注入,以及为什么需要依赖注入,再去看 dagger2 这类的可能会比较好理解一些,。 推荐这个视频,我一开始也不大明白 DI 的目的是什么,看完就差不多懂了 |
5 KunMinX OP @troywinter @momocraft @crayygy 谢谢,我大概理解了,DI 框架就是为了解决传统依赖注入办法导致的入参一致性问题,当参数变化时,不得不去所有依赖它的类中全改了。 而且顺带解决了多层依赖的关系。 比如 A a = new A() B b = new B() C c = new C(a,b) 的情况,有了 DI 框架,直接 C c = C.xxx 即可,有点类似于工厂模式,通过封装解决一致性问题,具体我再看看 |
6 crayygy 2019-09-15 13:28:35 +08:00 @KunMinX #5 如果你使用 Kotlin 的话,可以试试 Koin,虽然效率上比不上 Dagger2,但搭配 Kotlin 比较不错 |
7 KunMinX OP |
9 zealot0630 2019-09-15 15:42:58 +08:00 via Android DI 最大作用就是解耦 |
10 mephistophilis 2019-09-15 17:48:44 +08:00 via iPhone 一看你就不写 ut |
11 hantsy 2019-09-16 09:06:13 +08:00 Dagger2 应该就是 Guice 的 Android 翻版吧。 |
12 zzyy 2019-09-19 16:54:59 +08:00 没这玩意, 单元测试不好写 |