锁定老帖子 主题:pico印象
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-03-09
spring支持基于constructor。
|
|
返回顶楼 | |
发表时间:2005-03-10
我倒没有看到spring的配置基于构造函数的xml。不知道长成什么样子?
|
|
返回顶楼 | |
发表时间:2005-03-10
ajoo 写道 我倒没有看到spring的配置基于构造函数的xml。不知道长成什么样子?
你是想要这样的? <bean id="exampleBean" class="examples.ExampleBean"> <constructor-arg><ref bean="anotherExampleBean"/></constructor-arg> <constructor-arg><ref bean="yetAnotherBean"/></constructor-arg> <constructor-arg type="int"><value>1</value></constructor-arg> </bean> |
|
返回顶楼 | |
发表时间:2005-03-10
好麻烦。这种用xml描述java逻辑的东西真是蹩脚。
java对应版本不过是: new ExampleBean(anotherBean, yetAnotherBean, 1);; jaskell的配置不过是: new "ExampleBean"[anotherBean, yetAnotherBean, 1] |
|
返回顶楼 | |
发表时间:2005-03-10
多几个字,少几个字而已,不觉得使用jaskel做l配置有什么特别吸引力啊。
|
|
返回顶楼 | |
发表时间:2005-03-10
nihongye 写道 多几个字,少几个字而已,不觉得使用jaskel做l配置有什么特别吸引力啊。
这句深得我心,ajoo的研究方向和思路都很好,但却要把自己局限在jaskel的狭窄范围之内,还要去研究写配置这种无聊课题,简直就是杀鸡用牛刀。 |
|
返回顶楼 | |
发表时间:2005-03-10
引用 ajoo的研究方向和思路都很好,但却要把自己局限在jaskel的狭窄范围之内,还要去研究写配置这种无聊课题,简直就是杀鸡用牛刀。 这句话也是深得我心
|
|
返回顶楼 | |
发表时间:2005-03-11
呵呵,两位太抬举我了。
我这点本事,能把jaskell或者配置研究出点东西就不错了。 要不是有兴趣,早就不在软件业混了,人比人,气死人的。(当然,那样我也只有饿死了) |
|
返回顶楼 | |
发表时间:2005-03-12
jetty的配置文件,典型的用xml写代码,又长又臭。
<Call name="addWebApplication"> <Arg>/servlets-examples/*</Arg> <Arg><SystemProperty name="jetty.home" default="."/>/demo/webapps/servlets-examples.war</Arg> <Set name="extractWAR">false</Set> <Call name="getServletHandler"> <Call name="getSessionManager"> <Call name="setUseRequestedId"> <Arg type="boolean">true</Arg> </Call> </Call> </Call> </Call> |
|
返回顶楼 | |
发表时间:2005-03-15
还是继续说pico吧。
看了pico的ImplementationHidingComponentAdapter(看来好像这个功能还没有正式发布?下载下来的版本里没有,javadoc里也没有)。 实现就不说了。还是说它的接口定义。 它通过downcast 成Swappable接口来提供所谓“hot swapping”。(就是说,可以在对组件透明的情况下,动态篡改一个组件的实现) 这个设计个人觉得比较不优雅。 首先,Swappable必然是个public interface。既然如此,就很难100%假设客户代码不会实现这个接口。 假设我的组件自己实现了Swappable接口。 当我调用 ((Swappable);instance);.hotswap(abc);; 的时候,我调用的是我自己实现的那个hotswap还是pico提供的hot swap? 怎么能容忍这种二义性呢? 当然,你可以争辩说:可以让客户组件不要实现这个接口嘛。 可以,只不过感觉太那个了,所以我要说“不优雅”。 在我自己实现的容器中,我是通过系统提供的一个静态函数来实现hot swap的。 Components.setProxyImplementation(instance, abc);; 同样得到了透明于组件的hot-swapping,但是没有引入一个额外的接口,也没有二义性。 下一个问题: life-cycle。 一般来说,到底什么样的lifecycle是组件所需要的? pico这样每start, stop一次都要调用ComponentAdapter.getComponentInstance()是否合适? 如果谁用过pico,能不能给讲解一下你需要什么样的life-cycle或者你怎么用pico的life-cycle的? |
|
返回顶楼 | |