DI

2023-09-09

DI

前面我们讲IoC的时候说过, IoC分两种,一种是依赖查找,一种是依赖注入,DI就是依赖注入,即Dependency Injection。

当然, DI在组织文化层面有不同的诠释,即Diversity and Inclusion,倡导一种包容差异的文化氛围,对于那种只有“你跟我不一样,你凭什么跟我不一样”思维的人,可能也很难理解这种文化。 不过话扯远了,让我们还是回来谈技术和架构吧!

依赖注入有一个关键特征,那就是一个实体如果需要被依赖注入,那么它需要把自己“托付”给某一个主体,这个主体要么是一个Factory,要么是一个Container,总之, 主体有独立的自主权, 而需要依赖注入的实体则没有。 需要依赖注入的实体必须依托主体平台才能正常工作, 所以,脱离了主体的实体其实是无法独立运作的,有点儿这几年自媒体经常说的“离开了平台,你屁都不是”的意味 ;)

扶墙老师比较喜欢星际争霸2里一个片头动画,也就是机枪兵进到工厂之后,被机器人自动的装上机甲,然后就可以出场开干了,这机枪兵其实就是接受了机器人工厂的依赖注入,他自己肯定是装不上需要依赖的机甲的。

那么问题来了,上了战场之后,护士妹妹给机枪兵扎针又算不算是DI呢?