什么是IOC?
1、IOC简单理解
IoC(控制反转),是一种降低对象之间耦合关系的设计思想。可以增强系统的可扩展性。
一般而言,在分层体系结构中,都是上层调用下层的接口,上层依赖于下层的执行,即调用者依赖被调用者。
而通过IoC方式,可以实现上层不再依赖于下层的接口,即通过采用一定的机制选择不同的下层实现,完成控制反转,使得调用者决定被调用者,达到解耦的目的。是用这种方式之后,对象不会被显示调用,而是通过IoC容器(例如Spring)来提供。
Spring会通过配置文件来加载被调用对象,采用IoC的方式实现把实例化的对象注入到开发人员自定义的对象中,有较强的可扩展性。
2、IOC的优点和缺点
优点:
(1)通过IOC容器,开发人员不需要关注对象是如何被创建的,同时增加新类也非常方便;
(2)可以通过配置文件来确定需要注入的实例化对象,十分便于进行单元测试。
缺点:
(1)对象是通过反射机制实例化出来的,因此对系统性能有一定的影响;
(2)创建对象的流程比较复杂。