控制反转 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,可以在配置文件中进行配置,需要改变时不需要改动代码,修改配置文件就可以了。
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,可以在配置文件中进行配置,需要改变时不需要改动代码,修改配置文件就可以了。
相关文章推荐
- IOC控制反转 & DI依赖注入 & Service Locator服务定位器
- IoC控制反转(即依赖注入模式DI)介绍
- 控制反转IOC与依赖注入DI
- 【设计模式】控制反转(IoC)与依赖注入(DI)
- 有史以来最容易理解的控制反转(IoC)与注入依赖(DI)
- 控制反转IOC与依赖注入DI
- 控制反转(IoC)与依赖注入(DI)
- 依赖倒置(DIP),控制反转(IoC)与依赖注入(DI)
- 解构控制反转(IoC)和依赖注入(DI)
- 控制反转(IoC)与依赖注入(DI)
- Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)
- Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)
- 控制反转(IoC)与依赖注入(DI)
- 第二章 深入探讨控制反转(Ioc)和依赖注入(DI) 推荐
- Spring 4 学习笔记2:控制反转(IoC)和依赖注入(DI)
- Spring容器的控制反转(IOC)和依赖注入(DI)
- IoC/DI,控制反转和依赖注入
- Laravel 服务容器实例教程 —— 深入理解控制反转(IoC)和依赖注入(DI)
- spring的Ioc控制反转和DI依赖注入讲解
- Spring控制反转IOC和依赖注入DI实例