论坛首页 Java企业应用论坛

我们应该怎样看待框架

浏览 27809 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-04-27  
yangyi 写道
楼主讨论的基本正确,但并不全面。

讲一个最简单的道理,为什么做软件项目的很多用户最开始只有一个想法,却在你的原型不断完善的同时,他的要求越来越多,让你最终无法满足?因为是我们教育了用户。

千万不要说这是在“忽悠”。因为人非圣贤,不可能一下子考虑到所有的问题,而也许当他发现了问题的时候,却已经晚了。楼主所举的一些例子,只是提高了开发效率,这是一个可以疏忽的领域,可是,安全性呢,可扩展性能,这些最重要的东西恰恰是人们最容易忽略的。

再如Spring,让每个初出茅庐的程序员去想象出这样的需求是不现实的,事实上如果Rod不写书,不开源,也许今天的开发并没有什么不同,恰恰是Rod教育了我们,利用他的框架引导我们写出低耦合,易测试的代码,而这些背后的道理,甚至不需要年轻人去了解。

这也是框架们的另一种意义吧。

你是说框架教坏了孩子?
0 请登录后投票
   发表时间:2009-04-27  
抛出异常的爱 写道
yangyi 写道
楼主讨论的基本正确,但并不全面。

讲一个最简单的道理,为什么做软件项目的很多用户最开始只有一个想法,却在你的原型不断完善的同时,他的要求越来越多,让你最终无法满足?因为是我们教育了用户。

千万不要说这是在“忽悠”。因为人非圣贤,不可能一下子考虑到所有的问题,而也许当他发现了问题的时候,却已经晚了。楼主所举的一些例子,只是提高了开发效率,这是一个可以疏忽的领域,可是,安全性呢,可扩展性能,这些最重要的东西恰恰是人们最容易忽略的。

再如Spring,让每个初出茅庐的程序员去想象出这样的需求是不现实的,事实上如果Rod不写书,不开源,也许今天的开发并没有什么不同,恰恰是Rod教育了我们,利用他的框架引导我们写出低耦合,易测试的代码,而这些背后的道理,甚至不需要年轻人去了解。

这也是框架们的另一种意义吧。

你是说框架教坏了孩子?

否,我是支持流行框架的,这就好像学校里教育的孩子相对于在家自学的孩子很可能不是天才,但却基本可以保证健康成长。因为我们的软件产业需要的是首先规范和规模,其次才是精神和精英。
0 请登录后投票
   发表时间:2009-04-27  
wendong007 写道
越来越觉得整个Java社区就是个大忽悠,或者说整个软件业就是忽悠,大家都忙着把简单的东西搞复杂,大概是觉得做的太简单了,不用点忽悠人的技术对不起那个报价,不过咱们再怎么忽悠也只能弄碗汤喝,大块的肉都在IBM、Oracle这些巨头碗里呢

说到Hibernate,真不知道这东西为什么能火起来,不是说这东西不好,而是我觉得中国90%的Java程序员根本没有能力用好Hibernate,在这样的背景下用Hibernate,除了给自己添麻烦,我实在想不到还有什么用处



老外就能用好了?

根据项目选择适合的框架。

HIBERNATE在怎么不好,也提高了开发的效率。
0 请登录后投票
   发表时间:2009-04-27   最后修改:2009-04-27
"
所有的对于其他服务的调用都依赖于接口而非类,然后做Mock。
并且我认为,你的事务范围是很重要的,然后做好关联,如果你的对象和另一个对象是关联关系,那用get方法拿过来,就不要在方法里面再调用dao查找了,除非另外那个是一个服务。
"

我认为这个问题是个工程管理问题而不是框架问题,因为任何框架也不能防止你直接在类中对外部组件强关联调用,这个需要培训程序员,制定规范然后决定哪些该怎么写

况且:
1、假如真的就是一些简单的字符串转换、IO转换工具类,你让程序员为其定义接口以实现可用代理类替换,有人会质疑:为了运行本地测试为这些东西写很多没有其他用途的接口是不是因小失大,小题大做,过度设计。
(第一点我认为倘若真实这样的工具,那工具本身不依赖框架环境,完全可以同pojo一起发布到自动化测试环境中,只有那些pojo中使用,并且与服务器环境脱不开干系的类才用接口引用,代理对象替换)

2、很多工具类被框架封死了,在框架util包中就是静态类,由不得你来定义接口
(第二点我觉得是框架设计者对于框架定位为题,一个注重“非侵入性”的框架,大概压根不会这么设计工具服务类)
0 请登录后投票
   发表时间:2009-04-27  
wendong007 写道
越来越觉得整个Java社区就是个大忽悠,或者说整个软件业就是忽悠,大家都忙着把简单的东西搞复杂,大概是觉得做的太简单了,不用点忽悠人的技术对不起那个报价,不过咱们再怎么忽悠也只能弄碗汤喝,大块的肉都在IBM、Oracle这些巨头碗里呢

说到Hibernate,真不知道这东西为什么能火起来,不是说这东西不好,而是我觉得中国90%的Java程序员根本没有能力用好Hibernate,在这样的背景下用Hibernate,除了给自己添麻烦,我实在想不到还有什么用处



说的很对 用好hibernate 很难~  比如2级缓存 用不好就不要乱用~
0 请登录后投票
   发表时间:2009-04-27  
unsid 写道
"
所有的对于其他服务的调用都依赖于接口而非类,然后做Mock。
并且我认为,你的事务范围是很重要的,然后做好关联,如果你的对象和另一个对象是关联关系,那用get方法拿过来,就不要在方法里面再调用dao查找了,除非另外那个是一个服务。
"

我认为这个问题是个工程管理问题而不是框架问题,因为任何框架也不能防止你直接在类中对外部组件强关联调用,这个需要培训程序员,制定规范然后决定哪些该怎么写

况且:
1、假如真的就是一些简单的字符串转换、IO转换工具类,你让程序员为其定义接口以实现可用代理类替换,有人会质疑:为了运行本地测试为这些东西写很多没有其他用途的接口是不是因小失大,小题大做,过度设计。
(第一点我认为倘若真实这样的工具,那工具本身不依赖框架环境,完全可以同pojo一起发布到自动化测试环境中,只有那些pojo中使用,并且与服务器环境脱不开干系的类才用接口引用,代理对象替换)

2、很多工具类被框架封死了,在框架util包中就是静态类,由不得你来定义接口
(第二点我觉得是框架设计者对于框架定位为题,一个注重“非侵入性”的框架,大概压根不会这么设计工具服务类)


哦, 我可能没有说清楚,在企业信息系统中,我说的服务更倾向于业务服务,它本身也是带事务的,很复杂;不过也是指那些如搜索引擎、天气预报一样的复杂的纯技术的服务。这些东西不模拟,单元测试时跑起来太慢了。
而你说的字符串转换之类的,我觉得是工具,不是服务。不过你看像logger这样的东西,也还是面向接口的,这个还是得靠自己来根据复杂度来权衡
0 请登录后投票
   发表时间:2009-04-28  
JavaEye 上就喜欢发这些争论无休,而且永无答案的帖子。

仁者见仁,智者见智。

永远不会见到这用争论贴能给大家带来什么好处...
0 请登录后投票
   发表时间:2009-04-28  
BearRui 写道
JavaEye 上就喜欢发这些争论无休,而且永无答案的帖子。

仁者见仁,智者见智。

永远不会见到这用争论贴能给大家带来什么好处...

了解不同的看法,视野才能开阔,才不会坐井观天。工作不是作选择题,没有所谓的标准答案。
0 请登录后投票
   发表时间:2009-04-28  
Blithe 写道
引用

你使用一个框架的感觉始终应该是:哇,我正想实现这个东西呢,这个框架正好帮我实现了!

从来没有过啊,


同感,不过我还要加上:

介NM是谁搞的框架?这么难用,还不如用XX,XX了。

唉,因为山寨版的框架太多了,实现的还不是一个JDBCTemplate(差的很远)就NM是一个框架了。

眼下,看来谁都可以造框架了。

无语中....
0 请登录后投票
   发表时间:2009-04-28  
我正在用JDBCTemplate。。还不错。hibernate太繁琐了。我现在的项目用不着。。
0 请登录后投票
论坛首页 Java企业应用版

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