gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 23:42:51 26 4
gpt4 key购买 nike

昨天面试的时候被问到spring的DI和IoC是什么。我的回复是:

when a class(A) extends abstract class(B) or implements interface(B) or create a object of class(B) of any class in it, then A is said said to be dependent on B. Injecting this dependency, i.e. injecting the object in costructor or in setter method is called DI and in this process control over creating object goes to the "outside world" like XML configuration, this inversion of control is IoC. DI is not necessary IOC. We can still have DI when there is no IOC.

面试官不同意我的看法——我哪里错了?

还有一件事-

As we used Super class reference variable or coding through interface in constructor or setter method parameter.Is this any way related with DI/IOC or this is only to achieve loose coupling?

最佳答案

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

实现控制反转有几种基本技术。

  • 使用工厂模式
  • 使用服务定位器模式
  • 使用依赖注入(inject)(DI),例如
    • 构造函数注入(inject)
    • 参数注入(inject)
    • 二传手注入(inject)
    • 接口(interface)注入(inject)
  • 使用上下文查找
  • 使用模板方法设计模式
  • 使用策略设计模式

Source

关于spring - 我解释 DI 和 IoC 的方式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com