我解释 DI 和 IoC 的方式有什么问题?

2024-03-24

昨天在一次采访中我被问到春季的 DI 和 IoC 是什么。我的回复是:

when a class(A)延伸摘要class(B)或实施interface(B)或创建一个对象class(B)其中任何一个类,那么A据说是 依赖于B。注入这个依赖关系,即将对象注入 构造函数或setter方法中称为DI,在此过程中 对创建对象的控制权像 XML 一样转移到“外部世界” 配置中,这种控制反转就是IoC。 DI不一定是IOC。没有IOC的时候我们仍然可以有DI。

面试官不同意我的观点——我哪里错了?

还有一件事-

正如我们使用的Super class reference variable or coding through interface在构造函数或 setter 方法参数中。这是任何方式吗 与有关DI/IOC或者这只是为了实现loose coupling?


IoC (I反转of Control) :与传统控制流相比,反转了控制流,即我们不应该创建对象和控制流,而是框架创建对象,将它们连接在一起并管理它们的生命周期,并使用 DI 来管理组件,即创建对象。

有几种基本技术可以实施控制反转。

  • 使用工厂模式
  • 使用服务定位器模式
  • Using Dependency Injection(DI), for example
    • 构造函数注入
    • 参数注入
    • 二传手注射
    • 接口注入
  • 使用上下文查找
  • 使用模板方法设计模式
  • 使用策略设计模式

Source https://en.wikipedia.org/wiki/Inversion_of_control#Implementation_techniques

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我解释 DI 和 IoC 的方式有什么问题? 的相关文章

随机推荐