一、含义:(Inversion of Control,英文缩写为IoC),是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,
也是轻量级的Spring框架的核心。
二、控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。
1、创建对象的步骤变复杂了,不直观,当然这是对不习惯这种方式的人来说的。
2、因为使用反射来创建对象,所以在效率上会有些损耗。但相对于程序的灵活性和可维护性来说,这点损耗是微不足道的。
3、缺少IDE重构的支持,如果修改了类名,还需到XML文件中手动修改,这似乎是所有XML方式的缺憾所在。
三、IOC的应用:
1、IOC模式将耦合代码从程序中移出,放到统一的XML文件中管理。由IOC容器通过配置文件来管理对象的生命周期、依赖关系等,
这样就不用重新修改并编译具体的代码,从而实现组件之间的解耦。