今天来说说spring的IOC,控制反转。
原先开发大致 如下图:
在以前的开发中,创建什么样的资源是由功能来决定的, 这样耦合性过高,改动其中一个,那么另外一个也需要修改。比如资源1是service,资源2是dao,他们两合起来,才可以促成这个功能。这就导致了耦合度过高的问题。
spring开发大致 如下图:
现在出现了spring框架,功能就不需要直接去找资源了,功能找spring索取资源,spring去管理资源。把资源的控制的权力由原来的功能,给到了spring框架,这个就是控制反转。
ioc编写过程大致 如下图:
ioc编程,
1.APP直接和资源编码的话,耦合度过高。
2.加入了工厂之后,APP找工厂,面对接口编程,但是资源和工厂的耦合度就高起来了。
3.在加入xml配置,APP找工厂,工厂会根据xml文件,来判断哪个资源需要spring来管理,xml就直接对资源了。