控制反转和依赖注入之我之理解

在在网上看了别人的解释,解释的各种各样,但是大都是一个意思
下面来说一下我在参考了网上其他博客之后的理解


控制反转


A类依赖B类

例如下面这种

A{

public B _b;

}

这就是A依赖B
解决办法就是,创建B类的一个接口IB

然后A类就变成了这样

A{

private IB _b;

public void SetB(IB b)

{

_b = b;

}

}

B类继承自IB

然后就有了这样的灵活使用

A  a = new A();

a.SetB(new B());

原来是A类直接写死了B类的引用,也就是依赖,或者也叫控制
现在通过接口,灵活的设置B类,这种由A类控制的B类变成了通过外部灵活控制的方式,就是控制反转,原因嘛,控制引用的方式改变了,这也就实现了解耦合,通过继承IB接口灵活实现所需要的功能

 

依赖注入

在上面的例子中,a.SetB(new B());,就是注入,通过注入,灵活改变IB的实例类,来动态的实现需求

那么依赖是什么呢,其实也就是,A类依赖B类,变成了A类依赖接口IB,通过注入继承实现了IB接口的实例,实现解耦

 

 

依赖注入和控制反转应该说的是一样的东西, 只不过可能有两种不同的叫法

这是我的理解,目前没有查阅权威资料,后续如果发现有误,会及时改正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值