IoC的类型指的是Girl得到Boy的几种不同方式。我们逐一来说明。
IOC type 0:不用IOC
public class Girl implements Servicable {
private Kissable kissable;
public Girl() {
kissable = new Boy();
}
public void kissYourKissable() {
kissable.kiss();
}
}
Girl自己建立自己的Boy,很难更换,很难共享给别人,只能单独使用,并负责完全的生命周期。
IOC type
1,先看代码:
public class Girl implements Servicable {
Kissable kissable;
public void service(ServiceManager mgr) {
kissable
= (Kissable) mgr.lookup(“kissable”);
}
public void kissYourKissable() {
kissable.kiss();
}
}
这种情况出现于Avalon
Framework。一个组件实现了Servicable接口,就必须实现service方法,并传入一个ServiceManager。其中会含有需要
的其它组件。只需要在service方法中初始化需要的Boy。另外,J2EE中从Context取得对象也属于type 1,它依赖于配置文件:
IOC
type 2:
public class Girl {
private Kissable kissable;
public void setKissable(Kissable kissable) {
this.kissable = kissable;
}
public void kissYourKissable() {
kissable.kiss();
}
}
Type 2出现于Spring
Framework,是通过JavaBean的set方法来将需要的Boy传递给Girl。它必须依赖于配置文件。
IOC type 3
public class Girl {
private Kissable kissable;
public Girl(Kissable kissable) {
this.kissable = kissable;
}
public void kissYourKissable() {
kissable.kiss();
}
}
这就是PicoContainer的组件 。通过构造函数传递Boy给Girl。
PicoContainer container = new DefaultPicoContainer();
container.registerComponentImplementation(Boy.class);
container.registerComponentImplementation(Girl.class);
Girl girl = (Girl) container.getComponentInstance(Girl.class);
girl.kissYourKissable();
分享到:
相关推荐
IOC模式 c#经典例子 IOC 例子 IOC模式 c#经典例子 IOC 例子 IOC模式 c#经典例子 IOC 例子
Java的反射与代理实现IOC模式,供大家一起参考学习。
使用spring框架,工厂模式的IoC应用,非常简单的小例子。
利用Java的反射与代理实现IOC模式 在Java中,其反射和动态代理机制极其强大,我们可以通过其反 射机制在运行时获取信息。而代理是一种基本的设计模式,它是一种为了提供额外的或不同的操作而插入到真 实对象中的...
Control,IoC)。在本文中,我将深入探索这个模式的工作原理,给它一个更能描述其特点的名 字——“依赖注入”(Dependency Injection),并将其与“服务定位器”(Service Locator) 模式作一个比较。不过,这两者...
IoC 容器和Dependency Injection 模式
IOC详解IOC详解IOC详解IOC详解IOC详解IOC详解IOC详解IOC详解
ioc模式与工厂模式的比较[借鉴].pdf
JAVA设计模式之IOC实战02
Spring框架中的ioc的幽默解释
工厂模式几种类型的测试,并有spring ioc 的简单实现!
本文中,作者深入探索IOC模式的工作原理,给它一个更能描述其特点的名字——“依赖注入”(Dependency Injection),并将其与“服务定位器”(Service Locator)模式作一个比较。不过,这两者之间的差异并不太重要,...
Ioc模式和微容器——j道的,我可是花了50米下载的哦,现在供大家下载,共同学习吗
JAVA设计模式之IOC实战01
关于spring框架中的ioc的幽默解释.
控制反转( Inversion of Control , IoC) 模式是一种框架设计模式,可以使软件开发框架具有组件间松散 耦合、可扩展性高和可复用性高等优点。介绍了如何使用IoC 容器对软件开发框架进行重构。
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。
Ioc模式解析 - JAVA - 技术天地 - 赛迪网.htm