spring-core-2-15 | IoC容器的职责:IoC除了依赖注入,还涵盖哪些职责呢?

IoC(Inversion of Control)容器的主要职责包括解耦组件执行与实现,使模块专注于其设计功能,解放模块对其他系统实现的假设,防止替换模块时产生副作用。它通过依赖注入和依赖查找来管理组件的生命周期,并允许外部化配置,管理如JavaBeans等托管资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IoC 容器的职责

维基百科

• 维基百科(https://en.wikipedia.org/wiki/Inversion_of_control)

在Overview 小节中提到:

“Inversion of control serves the following design purposes:
IoC通常有以下几个设计目的:

• To decouple the execution of a task from implementation.
实现与执行的目的之间要产生解耦.

• To focus a module on the task it is designed for.
关注于模块,和任务赋予模块的功能. 就是说要关注于你设计上的最终目标, 而不是具体实现.

• To free modules from assumptions about how other systems do what they do and instead rely on contracts.
释放模块. 系统知道模块的运行方式但是不依赖某个契约.
比如 Java EE 的 JNDI, 尽管实现了组件的实现和组件进行解耦, 但是还是要依赖于像 lookup 这样的接口, 这就是契约了.

• To prevent side effects when replacing a module.
避免当模块取消是产生的边缘效应/副作用, 这里不太理解, 猜一下是当发生依赖变更时, 会产生一些副作用, 那么IoC的话能减少这个影响.

Inversion of control is sometimes facetiously referred to as the “Hollywood Principle:
Don’t call us, we’ll call you”.”
好莱坞原则: Don’t call us, we’ll call you.

小马哥总结

通用职责

依赖处理
依赖查找
依赖注入
生命周期管理
容器
托管的资源(Java Beans 或其他资源)
配置
容器
外部化配置
托管的资源(Java Beans 或其他资源)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值