论坛首页 入门技术论坛

spring=画蛇添足

浏览 41407 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2007-06-05  
你这样和工厂有什么区别?单元测试怎么办?
0 请登录后投票
   发表时间:2007-06-05  
jasongreen 写道
Alancu 写道
jasongreen 写道
统一使用ContextHolder装配,解耦了呀,不过是Context内部解耦

对于调用者,spring可以import一个xml,把别的Context的内容装配到调用者的Context中。

如果使用ContextHolder模式,如果调用者也要解耦的话,如果真的想写那么多getter和setter的话,你也可以写,然后再写个ClientContextHolder,在ClientContextHolder中取出ContextHolder中的Bean,set到想set的地方。

我们真的需要这个2M的jar包吗?没发现此模式与spring有啥区别。而且,那样需要通过属性名,来定位,中间牵涉到了一些方法调用之类的东西。性能会稍稍受影响的,虽然可以忽略。还牵涉到单例,static的赋值,等另类装配问题。

达到解耦的目的,写个全局装配器就够了。所以我才说: spring = 画蛇添足


有点无语了,OO最基本的原则,面向接口编程,如果你对此原则也有怀疑的话,只能称你一声大神了。。。


我没有否定面向接口编程,我只是将spring的xml装配方式,和用getBean(String name),用自己的代码改写了而已,我觉得这样更易调用,更快速,控制更加有力。


jasongreen 写道

而使用这种ContextHolder模式,一切是多么的简单明了,直接static的方法调用,ContextHolder.getMyDao1(),就ok了,而且少了一个2M的spring.jar,看着舒服,少了xml,看着舒服,少了一些无聊的getters and setters,舒服。


矛盾了吧?
0 请登录后投票
   发表时间:2007-06-06  
jasongreen 写道

我们真的需要这个2M的jar包吗?


2M是SPRING的所有包, 包括MOCK, DAO, AOP, CORE, CONTEXT, ORM, WEB, WEBMVC...

你指的应该是SPRING-CORE这个JAR吧, 才几百K.
0 请登录后投票
   发表时间:2007-06-06  
lz的话有点道理
不过srping一个小小的不爽而已,就这样否定spring怀疑你对他的了解有多少
0 请登录后投票
   发表时间:2007-06-06  
这个精华评的莫明其妙
0 请登录后投票
   发表时间:2007-06-06  
dovecat 写道
说实话,一位具有精湛技艺的Coder,确实Spring的价值对他来说也不过就是一个用起来稍微称手点的工具而已,必要的时候,他完全可以依据自己的需要抛开spring.
框架这东西,用多了就那么回事.看得太重也不好,重要的是框架背后的设计思想和风格.

同样,从对框架的批评上也能看出设计思想和风格
furthermore,从“根本不清楚设计思想和风格就敢批评”这件事上,还能看出更多
0 请登录后投票
   发表时间:2007-06-06  
gigix 写道
dovecat 写道
说实话,一位具有精湛技艺的Coder,确实Spring的价值对他来说也不过就是一个用起来稍微称手点的工具而已,必要的时候,他完全可以依据自己的需要抛开spring.
框架这东西,用多了就那么回事.看得太重也不好,重要的是框架背后的设计思想和风格.

同样,从对框架的批评上也能看出设计思想和风格
furthermore,从“根本不清楚设计思想和风格就敢批评”这件事上,还能看出更多
HOHO~确实,从这点上就可以说这个帖子没任何价值.反有误导的嫌疑.
0 请登录后投票
   发表时间:2007-06-06  
gigix 写道
dovecat 写道
说实话,一位具有精湛技艺的Coder,确实Spring的价值对他来说也不过就是一个用起来稍微称手点的工具而已,必要的时候,他完全可以依据自己的需要抛开spring.
框架这东西,用多了就那么回事.看得太重也不好,重要的是框架背后的设计思想和风格.

同样,从对框架的批评上也能看出设计思想和风格
furthermore,从“根本不清楚设计思想和风格就敢批评”这件事上,还能看出更多


同感,如果对框架本身的设计思想没有真正地去了解就信口开河地指责别人盲从,还要加上“创新”这样的大词,未免让人觉的很幽默。
0 请登录后投票
   发表时间:2007-06-06  
为什么不接着往下说呢 只举一两个例子说你完成了这个功能又有什么作用呢 如果真的是拼代码  可能比你这个代码更少的也能做到同样的功能

另外你这个应该算是底层的class在开发中要经常编译吧   很难想像这个class最后会有多大  比如我们这项目现在就有50多个模块了 当然你也可以把他分到多个class里  那么增减模块的时候不知道你要修改多少个底层的class  你们又是如何保证修改底层class不会影响到其他的业务呢

其他功能呢?比如事务回滚什么的  当然了  我们也都知道那个很简单 就是在那写个try catch嘛 那这50个多个模块的回滚你要怎么做?

不知道如果LZ把其他所有功能都做出来的话是否也会写个2M的东西出来
当然xml可能是一个都没有了

性能如何 BUG会不会有 TEST的是否彻底

不知能否和经过成千上万的盲从的人一起test后的东西拼一拼
0 请登录后投票
   发表时间:2007-06-06  
spring != ioc
spring > ioc

ioc的目标 != 建立统一的对象装配器,对象提取器
ioc的目标 > 建立统一的对象装配器,对象提取器


取消精华吧


0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics