依赖注入:DI—Dependency Injection

控制反转:IoC—Inversion of Control

其实这个概念一直也没有很好的理解,开始只知道拿来主义,拿来就用,但是不知道到底为什么要这么用。

首先依赖注入和控制反转是同一个概念,只是针对不同的对象的说法。

通俗理解:

  在没有这个概念之前,假如你是一个单身狗,那么你需要找一个女朋友,在没有任何人帮助的情况下,你只能按照自己的想法自己主动去寻求。假设你喜欢萝莉,那么你需要

  Girl girl=new Girl("萝莉");

  但是有了这个概念之后,你喜欢什么样的女孩,那么你可以通过婚介(容器)去帮你找,你只要和婚介说清楚你喜欢什么样的女孩,婚介就会把合适的女孩介绍给你,不需要你自己苦苦寻找。

Girl girl; 至于具体是哪个girl就由容器分配给你,不需要你自己new

依赖注入就针对于应用程序而言,它依赖容器给他注入具体的实例,就像你依赖婚介给你找合适的女朋友。

控制反转就是针对容器而言,它控制应用程序的实例

仅是简单通俗而言,有些词不达意,只是写下来便于自己后续记忆。