理解IOC的思想;可以绘图图示描述+文字描述;
时间: 2023-05-24 10:01:33 浏览: 116
IOC(Inversion of Control)也叫依赖反转,是一种设计模式,它指的是调用关系发生了反转,将控制权从应用程序代码中抽离出来,由框架来控制对象之间的依赖关系。简单来说,就是要将创建对象的过程交给框架来完成,而不是由应用程序自己来控制。
下图是一个简单的IOC示例图:
![IOC示例图](https://img-blog.csdn.net/20180829101759340?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0Lmh1L2FiYXN0aWFuX2ltYWdl/fontsize/12)
在这张图中,依赖关系是存在的,但是被反转了,类与类之间的关系不再由程序员直接控制,而是交给了容器来处理。
从这幅图可以清晰地看到,各个类之间的关系是通过容器来控制的。在容器中,将每个类看做一个 bean(即一个对象),这些 bean 组成了整个应用程序的组件。容器有一个配置文件,用来规定哪个类是 bean,以及这个 bean 应该如何被实例化、配置和组装;当一个类需要使用另一个类时,它并不会自己创建它所依赖的对象,而是通过容器来获得所需的依赖对象。
除了示例图中的 Spring框架,还有很多其他的框架也支持这种思想,例如 Struts 2、Hibernate、MyBatis 等。
阅读全文