Ioc容器的革命性优点

Ioc容器的革命性优点
Ioc容器的革命性优点是颠覆了“使用对象之前必须创建” 的基本Java语言定律。而基于PicoContainer实现的Jdon框架比Spring更好实现这一目标。

http://www.jdon.com/AOPdesign/iocimpls.htm

直接用PicoContainer不久可以了吗,Jdon框架是做什么用的?

比Spring更好实现这一目标,具体是怎么做到的呢?

>直接用PicoContainer不久可以了吗,Jdon框架是做什么用的?
Jdon框架在picocontainer基础上增加可配置性, 通过配置文件加入组件,而目前picocontainer不支持配置,nanocontainer支持,但是方向走到另外一边去了.

我觉得也不用把IOC的优点夸这么大,IOC并不是不用你关心创建对象,而是把这种关心从程序中挪到配置或者客户端去。

其实使用Ioc就是将一些程序员需要手工做的事情交给框架去完成,但是从考虑问题的角度来讲还是有一定的优势---减轻了程序员的工作,出错的机会少了。

>IOC并不是不用你关心创建对象,而是把这种关心从程序中挪到配置或者客户端去

我以前也是这么认为,但是其实不是,因为配置文件只是定义了一个类,可以做到一个开发工具插件,一般你在编码时,创建一个类代码,开发工具插件会自动将这个类名写到配置文件中。

类与类之间调用关系在运行时就能自己解决,无需在编码时考虑。

上述开发工具插件非常类似JBuilder的EJB可视化开发工具,在JBuilder中创建一个EJB,JBuilder会自动将EJB的类名写到ejb-jar.xml中,但是,EJB之间的调用关系是靠JNDI维系的。EJB容器其实很早就自动实现了对象的生命周期,但是只停留在单个对象的创建和销毁上,没有从调用关系上考虑,减轻开发者负担。

Spring也是如此,也没有从调用关系上考虑,减轻开发者负担。

<bean id="b" class="test.B">
  <property name="a"><ref bean="a"/></property><!-- 必须指定调用关系 -->
  ....
</bean>
<bean id="a" class="test.A">
<bean id="c" class="test.C">

难道楼主不知道 Spring 有 autowire ?

我们说的是其基础功能,而不是延伸功能,否则这样就无法比较了,总是有一个范围。

是有点技术,但也别自己争说比spring好,让别人的来评断,可以吗?
PS:你的东西为什么都要钱啊?

多谢hama,Jdon框架是开源免费的。我是想等别人来评论,可惜不识货的人太多,甚至有自称是Ioc/AOP专家的人在"程序员"杂志上写文章对Jdon框架不懂装懂,大加讽刺。可悲啊。

banq兄的jdon框架小弟一直比较关注,对于网上的评论也见到许多.不必理会.

怎么以前完全否定spring,现在不否定spring了,却说自己的框架比spring的强。

tikii可能误解了,我从来没有完全否定spring的意思,可能以前言语尖锐了点,我更喜欢从模式角度阐述。

从一开始我就看好pico(可查看以前发言),而不是spring,我觉得spring商业炒作太厉害(什么without EJB,故弄玄虚),我更喜欢默默无闻的 真正小巧优质的pico,通过jdon框架我将之商用,从闺楼里走到平民百姓家。算是实现我想法的一个实践吧。

如果构建器需要在接收运行时的参数,好弄吗?