控制反转IoC和依赖注入DI

IoC(控制反转)意味着开发者将程序控制权交给框架,由框架负责对象的创建和管理。DI(依赖注入)是实现解耦合的一种方法,通过面向抽象编程,将依赖的具体实现延迟到运行时由框架注入,如Spring通过配置文件和注解实现。这种方式提高了灵活性,简化了对象生命周期的管理。
摘要由CSDN通过智能技术生成

术语全称:

Inversion of Control 、Dependency Injection

IoC建议直接理解为面向框架编程。控制反转,意思就是原本开发者可以自由设计程序结构和具体实现,以及各个变量的管理方式,但是这些现在全都交给框架来控制了。原本开发者是根据下层类设计上层类,现在反过来了,由框架来设计上层类,并暴露出上层类所依赖的抽象接口,开发者需要提供实现这些接口的下层类。

DI 是解耦合的一种实现方式。在编程时,需要面向抽象(父类、接口)编程,一个类依赖的其他类需要是抽象的,而当程序运行时必须为这些抽象类指定具体的实现类的实例对象,而当这个实例对象需要更改的时候,往往要改动多处代码,为了提高编程的灵活度、解耦合,提供了依赖注入这么个方式。以Spring为例,编程时不需要在Java代码中设置(new)实现类的实例,而是在配置文件中集中处理这些实例对象,然后通过注释(@Autowired、@Resource)和反射的方式为抽象类生成实例对象。这么做的另一个好处是所创建的实例对象都统一交由框架进行管理,由框架决定这些实例何时生成、何时销毁。

参考文章:

[1] 1.2框架设计者 - 知乎 (zhihu.com)

[2] 理解依赖注入(DI – Dependency Injection) - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值