关于spring ioc中例子

来源:11-2 IOC原理

慕尼黑7546459

2019-03-26

老师,关于在spring管理bean之前,通常的程序设计是上层建筑依赖下层建筑的,老师例子中说,当箱子轮子的需要发生变化时,很多上层构造函数都得改成增加size参数,为什么要这样呢,直接在Tire的类中改不就可以了吗?  我知道spring带来了很多好处,但要解释比在它之前的好,我始终说不清楚,老师的这个例子我也还没绕过弯子,请老师再解释一下,谢谢

写回答

1回答

翔仔

2019-03-27

同学好,在例子里,咱们假定的是行李箱依赖于箱体,箱体依赖于底盘,底盘依赖于轮子这种情况,模拟的是上层依赖下层,也就是说需要在上层的构造函数里,加入下层的依赖,这也就意味着上层需要new出下层的实例,也就是说,我最上层的行李箱需要关心到轮子,因此为了实现轮子大小动态化设计,由于我们假定是从行李箱开始,逐层往下关心,因此需要每层都传递轮子的大小(实际场景中,同学当然可以直接在轮子层设定轮子的大小,但是这里我们前提就已经设定是上层依赖下层,因此下层的变动需要从上层开始去进行)。而对于控制反转,下层依赖于上层的话,那就不一样了,上层不再主动去new出下层的实例,反倒是下层按照要求主动拼接好,以类似组件的形式传递给上层,这样改动起来就比较方便了。如果同学还不理解的话,建议多多看看IOC的原理,相信会弄明白的:)

0
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程