00:04
啊来,我们接着往后说啊啊那么刚才呢,我们把呃,Hello word给大家写完了啊,然后呢,呃,我们具体写的这个代码啊,以及我们做过的这个配置呢,我们会在接下来的讲课过程中呢,给大家做到这个具体的解释啊啊那么首先呢,啊,我们先来看这样的一个话题,呃,我们先需要给大家去解释一下这个LC啊。就是我们刚才用啊也用过了,那么具体什么是一个loc呢?我们需要来给大家做一个啊具体的解释,我们先来看LC啊,翻译过来叫做什么inverion,然后of什么C啊,就是一个反转控制啊,或者说呢啊,你也可以叫成控制反转啊,理解吧,啊表达的都是一个意思啊,那么它具体的含义是什么呢?我们来看看,就是在应用程序中的这个组件啊,需要这个获取资源的时候,我们先来说传统的方式,传统的方式呢,就是组件主动的从容器中获取所需要的资源,那么在这种模就在在在这种模式上你开发的时候啊,那么我们的开发人员呢,他需要知道具体容器中的这个资源他应该怎么去获取,也就意味着他这个获取方式我必须得知道。
01:31
那么这样的话的话,无疑就是什么增加了我们这个学习的成本了,而且呢,它这个降低了我们这个开发效率,就什么意思呢,大家注意啊,我们也是有一个什么呀容器,但是这个容器呢,不是我们的LC容器理解吧,哎,比如说呢,就是我们自己普通的啊写好了一个什么工厂是吧?啊一个工厂我们也可以简单认为它就是个容器,然后呢,比如说我的某一个组件呢,需要去从这个容器中获取一个资源,那么从我们这个现在的这种开发模式上面来看的话,我就需要知道你容器里面的这个资源啊,有没有第二个,我得知道我通过什么样的方式我能获取到这个资源,而且整个的这个过程都是我这个组件干嘛呀,他主动的去找这个资源。
02:18
能明白为什么,能明白这个意思吧,就是我主动的去找这个资源啊,而我们这个使用了这个LC反转控制以后,它又变成什么样子的呢?给大家说一下啊啊,它这个反转控制这个思想呢,它颠覆了我们应用程序组件获取资源的这个传统方式啊,它反转的这个资源的一个获取方向,以前我是主动的到这个容器里面去要这个资源,而现在呢,是由容器,由这个容器他主动的将这个资源呢,推送给需要的组件。能理解这个意思吧,诶,推送给他需要的组件,那么我这个开发人员呢,你就不用再去知道这个容器是如何把这个资源给你创建出来的呢?啊,他是如何把这个资源给你推送过来的,这些我们都不需要知道,我们只需要做的事是什么呀。
03:08
准备好接收这个资源就行,因为容器它会主动的把这个资源给你推送过来,而我们要做的事就是我准备好怎么把这个资源给它接受过来啊,那么这种方式呢,我们也称之为查找的一种被动形式啊,那么把这个概念说完以后呢,我给大家来做一个对比啊,比如说现在我有A跟B2个组件,假如说我A里面呢,我需要用到B这个组件,好,那么如果放到我们这个传统的这个容器中来讲的话,首先我需要什么呀,获取到A理解吧,然后呢,我还需要获取到B,再然后呢,我需要把B呢设置到我的什么A里面,那这种这个意思呢?OK,这是我们传统的一种方式,那么假如说哎,我现在使用的是我这个LC容器,那么就意味着啊,这个容器就变成我们的LC了,它里面同样有A,同样有B。那么我们。
04:09
只需要提前在A里面设置好一种接收方式啊,其实那个接方式啊,也就意味着你得告诉一下loc容器A是需要一个B的啊,那么这样的话呢,我的loc容器知道了你这个需求以后呢,他就能主动的把这个币直接给你推送过来,而我们这里面呢,已经提前设置好了接收方式,那我就能把B呢给它接收过来了,所以说我们使用了LC容器,那么我们只需要直接获取到A就可以了,你不需要再获取B,你也不需要把B往A里面设置这个过程啊,LC容器都帮你去做了。能听懂这个区别了吗?可以的吧,哎,说这个理解上面来讲的话,还是比较啊简单的啊,这是比较好理解的,OK,那么这个其实就是我们LC啊,它这个整个,呃,这个容器它能做到的这个反转控制啊,或者也叫做控制反转,那么这个概念呢,大家首先得知道,好,那么知道了以后呢,我们再来接着说,那你说我们刚刚提到了,我得提前去做好接收的准备,怎么接收呢?以什么样的方式来接收呢?其实就是通过Di来去描述的,而Di的概念呢,要叫做什么?依赖注入,怎么去理解这个依赖注入呢?注意Di它是loc的另外一种表述方式,就是组件以一些预定义好的方式来接收容器的一个资源注入。
05:45
啊,就是我们刚刚在地方提到的,我来准备去接收它,怎么准备呢?以什么方式来接收呢?就是通过Di来去描述的啊,所以说相对于这个IOC而言呢,这种表述更直接一点,那么最终呢,我再把这两个概念给大家去做一个比较,其实IOC跟Di描述的是一个意思。
06:06
能听懂吗?IOC跟Di描述的是一个意思,但是如果你要具体来区分的话,那我可以这么认为,IOC就是一个思想,什么思想呢?控制反转,或者说明反转控制这样的一个思想,而在这个思想上面做了一个具体实现的就是我们的Di,我通过Di的方式来实现了你这个LC的这个反转控制这个思想,听明白这个意思了吗?OK,所以说大家最终要记住了啊啊,那我在这个地方呢,再来给大家去加上一句话,好,大家下去以后呢,你也可以自己总结一下啊,就是呃,IOC好描述的是什么呀?思想,哎,描述的是一种思想,而这个DR呢,这种思想哎,DR是什么呀?是对loc思想的一个F思想的具体实现,F就可以这么去理解的,所以说你在提到这个loc。
07:07
来提到这个Di的时候,他们描述都是同一个东西,只不过这个Di呢,它是一种具体的实现,那么也就意味着将来有人就是面试的时候呢,可能会有面试官问这样的问题啊,所以你给我简单的说一下这个loc啊,简单的给我说一下这个Di,那么这个时候我们一定要告诉他loc的思想是什么啊,他的这个具体的这个工作是怎么去工作的,而这个Di呢,就是一种具体的实现,那么你就要去提到这个Di的几种方式,那么这种方式的话呢,我们会在下面呢给大家去讲到啊,就是这个Di依赖之物的这种方式会给大家去讲到啊,就是现在我们暂时呢,要把这个LC跟这个Di这种概念先把它理解了,能理解了吧啊。
我来说两句