您的位置:首页 > 其它

控制反转 Ioc 依赖注入DI

2012-12-26 12:39 225 查看
Ioc = inversion of control
containers

DI = dependency injection pattern

依赖:如果A依赖于B 则B对A有控制权。

例如

public class A {...}

interface A {};

public class Aimpli1 implements a{};

public clsas B

{

...

A a = new Aimpl1();

...

}

B类有一个A类 B是依赖于A的,如果A变化 B就会跟着变化,也就是A对B有控制权。

例如:我们现在Aimpli1是用文件进行数据存储,我们需要一个是用数据库进行存储的实现Aimpli2.如果上面的方法就需要修改

源代码了,如下

public clsas B

{

...

A a = new Aimpl2();

...

}

这样系统的偶合性大大增加了。

也就是B的实现依赖于A的实现。

控制反转(invert of control) 就是将这种依赖发生转移,不再程序内部进行。
者往往回增加一个独立于A和B的装配器

例如jsf中的Backing Bean,可以在配置文件中进行配置,需要改变时不需要改动代码,修改配置文件就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: