码迷,mamicode.com
首页 > 其他好文 > 详细

IOC和DI的理解

时间:2019-12-10 22:43:48      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:实例   管理   运行   需要   装修   二手房   租房   通过   ioc   

IOC(控制反转)

概念:

  控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护。

理解:

  当我们需要一个对象的时候,我们不是自己去new 一个对象,而是向外部容器申请一个来用。

  如果我们想有一个住的房子,我们不会自己去画图纸,自己去建,自己装修,再去住。通常我们会去找开发商或者二手房中介找一个现成的买来用。这就是说我们并不负责对象本身创建和维护,由外部容器创建,我们只负责使用。

   房屋中介  与  IOC 对比

  • 房屋中介            IOC
  • 找中介                找IOC容器
  • 中介介绍房子     容器返回对象
  • 租房入住            使用对象

 

DI(依赖注入)

概念:

  DI是一种实现的方式,目的是创建对象并且组装对象的关系。

理解:

  IOC容器在初始化过程中会创建一系列对象,同时把对象的依赖关系通过注入的方式组织起来。也就是说当一个类A持有一个类B,当实例化的时候,需要第一实例化一个A,第二实例化一个B,然后把B的对象赋值给A,这就是IOC容器负责组装的一个功能。

IOC(控制反转)和 DI(依赖注入)的关系

  控制反转实际上是获取依赖对象的过程被反转了。也就是说获取依赖对象的过程不是我们自己来控制,而是由外部容器来控制,控制反转之后,获得依赖对象的过程由自身管理变成了由IOC容器主动注入。于是实现IOC的方法就是依赖注入。

  所谓依赖注入就是由IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。

 

IOC和DI的理解

标签:实例   管理   运行   需要   装修   二手房   租房   通过   ioc   

原文地址:https://www.cnblogs.com/zhanghf213/p/12019319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!