控制反转 Ioc 依赖注入DI

本文深入探讨了控制反转(IoC)和依赖注入(DI)的概念,解释了它们如何通过转移依赖关系来降低系统耦合度,并以具体实例展示了如何在实际开发中应用这些设计原则,以提高代码的可维护性和可扩展性。

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

Ioc = inversion  of  control containers
DI =  dependency injection pattern

依赖:如果A依赖于B 则B对A有控制权。

例如
public class A {...}
interface A {};
public class Aimpli1 implements a{};
public clsas B
{
   ...
   A a = new Aimpl1();
   ...
}

B类有一个A类 B是依赖于A的,如果A变化 B就会跟着变化,也就是A对B有控制权。

例如:我们现在Aimpli1是用文件进行数据存储,我们需要一个是用数据库进行存储的实现Aimpli2.如果上面的方法就需要修改
源代码了,如下
public clsas B
{
   ...
   A a = new Aimpl2();
   ...
}
这样系统的偶合性大大增加了。

也就是B的实现依赖于A的实现。
控制反转(invert of control) 就是将这种依赖发生转移,不再程序内部进行。 者往往回增加一个独立于A和B的装配器
例如jsf中的Backing Bean,可以在配置文件中进行配置,需要改变时不需要改动代码,修改配置文件就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值