不过,也只有商业利润之后,才能将Spring做得更好,为什么Hibernate不成立公司呢?
http://www.theserverside.com/discussions/thread.tss?thread_id=28241
不过,也只有商业利润之后,才能将Spring做得更好,为什么Hibernate不成立公司呢?
http://www.theserverside.com/discussions/thread.tss?thread_id=28241
为什么JBoss商业化时,遭来刺耳议论,而Spring走同样的JBoss模式,却有人祝贺呢?
我有同感,其中是否虚伪或欺骗的东西在其中?
Tapestry和JSF相竞争的,虽然缺少象Struts那样的页面流程配置,但是他真正是一个面向组件设计的Web框架,希望有一个Tapestry + Staruts结合优点的框架。
EJB消灭了new对象,现在在Web层也消灭了new,以后创建对象用new语法几乎越来越少,在tapestry中,只要配置声明参数的类型,一般为接口类型,具体实例要么从界面由用户输入,要么由数据表获得,或者从Spring容器获得Service实例。
因此,在tapestry中看不到A a = new A()语句,到处都是abstract,这个类似CMP的代码,无需指定具体实例实现。
在Spring应用代码中也存在这个现象,到处都是接口,找不到具体实现子类,在哪里找?到Spring配置文件appContext.xml中找。
这样看代码比以前那种到处new要干净多。
所以, Ioc模式,AOP使得Web层组织类似EJB组织,比较清晰,没有混乱,只要两种POJO: Service或Model(Entity)
还有Spring性能问题,在其主要的jdkDynamicXXX.java的invoke方法中,每次都要new一个MenthodInvocation对象,invoke是频繁访问,这样每次都new一个大对象,多么可怕。
其相关Spring的讨论和认识见下:
http://www.jdon.com/jive/thread.jsp?forum=91&thread=15634