控制反转(IOC)。
什么是控制反转
那么这里就涉及到了两个词,控制与反转,什么控制什么,什么被反转了?
在普通的编程中,如果我们需要一个对象,就会这个样子:
Object obj=new Object();
这样就是通过我们手工来创建一个对象,是我们主动去创建,也就是由程序员来控制对象的产生。
那么据此可知,控制反转就是对象的控制权被移交给了一个第三方,由第三方来控制对象的产生销毁等等。
为什么需要控制反转
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。
以上来源于百度百科,那么在这里我就谈谈我自己的想法,我们开发软件,都是追求更高的内聚,更低的耦合,而把对象的控制权交由第三方,让第三方去维护对象之间的关系,能让各个对象之间的耦合不那么紧密,从而有利于我们维护软件。
个人观点,如有错误敬请指出!