首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

小弟我对IoC/DI的理解

2012-07-19 
我对IoC/DI的理解?IoC?IoC:?Inversion of Control,控制反转,?控制权从应用程序转移到框架(如IoC容器),是框

我对IoC/DI的理解

?


IoC

?

IoC?Inversion of Control,控制反转,?控制权从应用程序转移到框架(如IoC容器),是框架共有特性

?

1、为什么需要IoC容器1.1、应用程序主动控制对象的实例化及依赖装配?
A a = new AImpl();B b = new BImpl();a.setB(b);
本质:创建对象,主动实例化,直接获取依赖,主动装配?A a = AFactory.createA();B b = BFactory.createB();a.setB(b);?本质:创建对象,被动实例化,间接获取依赖,主动装配??(简单工厂)?A a = Factory.create(“a”);B b = Factory.create(“b”);a.setB(b);?a=AImplb=BImpl?本质:创建对象,被动实例化,间接获取依赖,?主动装配????????(工厂+反射+properties配置文件、? ? ? ? ? ?Service Locator、注册表)?A a = Factory.create(“a”);?
??? ? ? ? ? ??//返回装配好的a A a = Factory.create(“a”);? ?<!—配置文件-->
<bean id=“a” class=“AImpl”>    <property name=“b” ref=“b”/></bean><bean id=“b” class=“BImpl”/>
?本质:创建对象和装配对象,?//返回装配好的a A a = ApplicationContext.getBean(“a”);?<!—配置文件-->
<bean id=“a” class=“AImpl”>    <property name=“b” ref=“b”/></bean><bean id=“b” class=“BImpl”/>
?
?
?


思路清晰,分析细致,学习学习,java私塾-开涛的文章必须顶顶。
谢谢 思路清晰,分析细致,学习学习,java私塾-开涛的文章必须顶顶。


一起学习

热点排行