首页 > 其他 > 详细

概念:dependency injection, IOC, vs callback

时间:2019-01-18 00:45:05      阅读:193      评论:0      收藏:0      [点我收藏+]

 

callback function as a dependency of the object that it is being passed into. DI is the process of providing the callback (the dependency) to the object. (For example: by giving it to the object via its constructor, a method call, a setter, etc.).

翻译: callback是具体的依赖, DI是注入依赖的过程

 

DI是IoC的子集

  • IoC意味着对象不会创建他们依赖的其他对象来完成他们的工作。相反,他们从外部服务(例如,xml文件或单个应用程序服务)获取他们需要的对象。我使用的IoC的2个实现是DI和ServiceLocator。
  • DI意味着在不使用具体对象而是使用抽象(接口)的情况下完成获取依赖对象的IoC原则。这使得所有组件链可测试,导致更高级别的组件不依赖于更低级别的组件,仅来自接口。Mocks实现了这些接口。

 技术分享图片

IoCI nversion o f C ontrol ): - 这是一个通用术语,以多种方式实现(事件,代理等)。

DID ependency I njection): - DI是IoC的子类型,通过构造函数注入,setter注入或接口注入实现

但是,Spring仅支持以下两种类型:

  • 二传手注射
    • 基于setter的DI是通过在调用无参数构造函数或无参数静态工厂方法来实例化其bean之后调用用户bean上的setter方法来实现的。
  • 构造函数注入
    • 基于构造函数的DI是通过调用具有多个参数的构造函数来实现的,每个参数代表一个协作者。使用这个我们可以验证注入的bean不是null并且快速失败(编译时失败而不是运行时),所以我们得到了启动应用程序本身NullPointerException: bean does not exist构造函数注入是注入依赖项的最佳实践。

 

概念:dependency injection, IOC, vs callback

原文:https://www.cnblogs.com/cutepig/p/10285503.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!