Spring IOC为什么能降低耦合
在学习 Spring 框架中,大家可能会遇到这种问题,为什么Spring IOC能降低耦合度?
1、什么是耦合度
耦合度是指系统中不同部分之间的依赖程度或联系紧密程度。在软件开发中,耦合度是指模块或组件之间的相互依赖程度。耦合度越高,模块之间的依赖关系越紧密,修改一个模块可能会对其他模块产生影响,系统的可维护性和可扩展性会降低。反之,耦合度越低,模块之间的依赖关系越松散,修改一个模块不会对其他模块产生影响,系统的可维护性和可扩展性会提高。
2、解析
2.1、传统方式用new创建对象
我们举个例子来分析:
最开始小明想要活下去,所以他要吃东西;
Food food = new Food();
food.eat();
小明现在吃饱了,想要玩耍;
Play play = new Play();
play.with();
小明玩耍之后想要交朋友;
Friend friend = new Friend();
friend.get();
思考时间到,我们接着往下看。
从代码上看好像没多大问题,就改了两行代码。但是我们假设对数据量进行一个扩大,不只是小明一个人,现在有1000个人都要在玩耍之后再交朋友,就需要改2000行代码,有10000个地方都这样写,就需要改20000行代码。
2.2、接口编程
经过上面的操作,小明想好到了一个好点子,我定义好一些方法,大家都按照这个规则来,不就好了。
我们给小明的各种行为定义一个接口:
public