Ioc = inversion
依赖:如果A依赖于B 则B对A有控制权。
例如@H_502_4@ public class A {...}@H_502_4@ interface A {};@H_502_4@ public class Aimpli1 implements a{};@H_502_4@ public clsas B@H_502_4@ {@H_502_4@
B类有一个A类 B是依赖于A的,如果A变化 B就会跟着变化,也就是A对B有控制权。
例如:我们现在Aimpli1是用文件进行数据存储,我们需要一个是用数据库进行存储的实现Aimpli2.如果上面的方法就需要修改@H_502_4@ 源代码了,如下@H_502_4@ public clsas B@H_502_4@ {@H_502_4@
也就是B的实现依赖于A的实现。 控制反转(invert of control) 就是将这种依赖发生转移,不再程序内部进行。 者往往回增加一个独立于A和B的装配器 例如jsf中的Backing Bean,可以在配置文件中进行配置,需要改变时不需要改动代码,修改配置文件就可以了。