关于SpringIOC的一些思考

         IOC是“依赖倒置原则”的一个特例,说其是特例,就是说其具有“依赖倒置原则”的性质。依赖倒置原则强调的两点是:上层模块和下次模块都依赖于抽象,二者之间通过这种抽象的东西联系在一起;具体可以依赖于抽象,而抽象不能依赖于具体。我认为Spring提倡的“基于接口编程”就是为了遵循“依赖倒置原则”。其中所谓的“上层模块”和“下层模块”是一个比较抽象的概念,其中“上层模块”就是调用者,而“下层模块”就是被调用者,而且很多时候,调用者也常常是被调用者。

         IOC解决了两个问题:类的生成和类和类之间关系的管理。大家想想,如果没有IOC,则我们需要在业务代码中反复做两间事情:1>生成对象;2>设置该对象中的引用对象。这样,必然有代码要染指这两间事情。谁染指这两件事情,谁必然要和具体的类(接口的实现类)相耦合。而IOC采用反射的机制帮我们完成了这件事情。这样,我们的业务类就彻底和要引用的具体实现类完成了解耦。当然了,还有其他例如:对象生命周期的管理等功能,IOC也提供了,这个不做论述。实际上,再深入一层思考,这个也遵循“单一职责原则”,大家很清楚,如果遵循了“单一职责原则”则程序的柔韧性就会加强。同时,由于采用XML来配置类和类之间的关系,因此符合“开闭口原则”。

        由于没有真正总结完毕,先说到这里,希望能帮助大家更加深入地理解IOC起到抛砖引玉的效果。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值