spring框架之IOC通俗理解

谈谈对ioc的理解
先举个例子
比如我们的项目中有个A类,它需要使用B类资源,我们一般实现的方法是直接创建B类的实例对象,通过实例对象去操作B类中的东西。
在这里插入图片描述
那这时,我们在项目中又新建了一个C类,也需要使用B类资源,同样采用前面的方法。然后又有了D类、E类、F类。现在它们都在使用B类资源,且都在类中创建了B类的实例对象。
在这里插入图片描述
如果这时,突然出现了一个B+(为什么用+号呢,是为了突出比B类更好)类资源,这个B+类资源比B类资源更好更实用,所以A类、C类、D类等等都要选择去使用B+类资源,它们之前使用B类资源使用的是创建实例对象的方式,这时如果要改成使用B+类资源该怎么办呢,只能改实例对象了,并且每个使用B类资源的类都要改。当然,如果类比较少,改改也无妨,但是一个真正的项目,类是不可能少的,而且说不定在改的时候改着改着就不知道改到哪去了。如果每个类都要改,这简直太麻烦了!可是要如何解决这个问题呢

答案来了
我们可以在A类、C类、D类…这些客户类与资源类之间加一层,让中间层去决定选择使用哪个资源,而A类、C类、D类…这些客户类只需要固定的连接中间层就可以了,就算下次又出现了B++类,要修改使用资源,也只需要在中间层去修改就好了。

在这里插入图片描述
具体实现:
中间层声明一个获取资源对象的方法,这个方法返回一个资源对象,A类、C类、D类…只需要调用中间层的该方法就可以了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值