一、传统方法的耦合分析
以司机买车为例子。
1.1定义个奥迪车
1.2 定义一个司机
1.3测试类
由上分析可以看出,买车这个司机与奥迪车是完全耦合在一起的,假如这时有个宝马车,假如司机要买宝马车,这是需要修改程序的位置相对就比较多了,这样就会破坏程序的完整性了。
二、ioc方法解耦
2.1定义Car这个接口
2.2 定义奥迪和宝马这2个车型
2.3 定义购买者
2.4 测试买车这个动作
控制权就转移到测试这个类中了,而车子类型和购买者就没得上面关系了,想购买什么车子就只需在测试类中传入对应的对象了,包括后续添加新的类型时候,以前的代码不需要修改,只需添加Car的实现类而已。
2.5 Spring方式
2.5.1 配置文件
2.5.2 测试类
这样如果以后要修改车子的类型,只需修改配置文件中的的配置和增加Car的实现类即可。