中国开发网: 论坛: 程序员情感CBD: 贴子 794215
steel1
Without SSH -- 老夫原创,目前还是草稿,我扔块砖,请各位有玉的别藏着掖着阿
所谓的SSH是指当前最热门的3大开源框架:Struts、Spring和Hibernat,现在最流行的就是SSH的开发模式,现在大部分的做java开发,言必称“SSH”、“框架”等等,好像我们这些老开发要是不会SSH,出门都不好意思跟人打招呼似的。但事实真的如此吗?作为10年以上的老开发者,本人认为SSH固然有它的优势所在,但在各个方面均存在着很多的问题,目前SSH的流行就跟帝都、魔都的房价一样,是一个肥皂泡,无非是大小问题,SSH充其量只是适合小型的,低负载项目,对于复杂的、带有巨大变数的、高负载、高容量的项目,还是必须依靠传统的开发模式和管理方式。
这3大框架的功能和优缺点本文不再赘述,本节主要讨论SSH开发模式的缺陷。
采用SSH开发的主要需求点是避开笨重的EJB,同时能够帮助开发者更快、更方便灵活地对系统进行配置式开发,降低开发的门槛,但凡事都有2面性,本人认为,目前SSH开发模式主要存在问题:

1、 整合复杂,除错困难
3个框架涉及了B/S开发的大部分主要环节,而整个系统一般要涉及web容器、中间件、数据库、其他框架或软件(如表单、工作流、报表等等),需要有1堆软件产品,需要开发人员再在上面框架叠框架,产品堆产品,整合起来实在之复杂,这都给调试、测试、部署等带来了极大的困扰,例如,出现某个页面打开很慢的情况的话,要找问题点的话,那要花得功夫,可就不是一点半点了。

2、 配置文件过多
自SSH开始流行后,java开发就出来了一个很不好的风气,那就是对XML配置文件的无限制使用,本人并不是说XML不好,但凡事总有个度,过度就不对了,XML配置文件严重影响了代码的可读性和连贯性,将很多应该由代码完成的工作割裂开来,这对类似本人这种老开发来说,就好像是吃饭吃的正爽,突然要跑到边上去开会,开了一会儿,又要去吃饭。此外,过多,过于复杂的xml文件会让整个系统的可维护性和组织度下降。
本来SSH的配置文件之多,之复杂,已经是让人欲哭无泪了,再加上其他的框架所用到的配置文件,那已经到了令人发指的地步了,最雷人的是,本人曾经对tapestry颇有好感,因为它能真正分离界面与代码(下面会介绍这种模式),但稍微摸了1把就赶紧扔掉,这玩意儿,每个页面都至少有一个XML文件,为嘛捏?!为嘛捏?!这下把本人雷得个外焦里嫩的,瀑布汗。
本人一直觉得为什么要这么多xml呢?每个框架一个不好吗?往web.xml或者一个公用的xml里面写不好吗?多用“规则”来默认不好吗?xml文件不是兜里的人民币越多越好的。

3、 Hibernaet对系统优化的破坏
讲到hibernat,我是又爱又恨,它原来的目标是代替EJB的实体bean,它的优点在于对象化,但它缺点亦在此。
如果你是做小的demo系统、小型应用系统或者数据负载很小的系统,用hibernat是一个很好的选择,但问题是,如果需要对你的SQL语句调优了,那就抓瞎廖,本人在此强烈建议,如果你的系统数据比较多,比较复杂,而且预计会跑上3年,那就尽量别用hibernat。
其实,本人觉得,用连接池技术,再加上良好的数据结构设计和对数据字典的良好管理,对开发团队来说足够了。

4、 对view方面的支持很差,
按理说,struts是MVC的先行者,本人原以为,它在view方面应该有很多的支持的,但除了taglib之外,并见到其他什么东西,本人等到struts 2后,依然没有发现新意,实在失望啊。
本人一直觉得,java b/s开发最累人的,不是SSH所关注的那些,而是画面与代码没有分离,造成view层面的异常混乱,设想一下,一个jsp里面可能有html代码、java代码、js代码、CSS代码,还有struts的tablib或者其他的什么tag等等,这是何等狗血和逆天的场景阿!
皇帝胡搞是游龙戏凤,
巡抚胡搞是深入群众,
知府胡搞是娱乐活动,
知县胡搞是体育运动,
小吏胡搞是胡乱打洞,
草民胡搞是流氓活动
============================
有客自东来,告我沈阳事,
甲申今岁无他论,唯庆清军入汉关.
闻客闲言做冷笑,长夜孤坐难入眠,
酒尽十杯心愈寒,弹剑金樽前,
杜鹃涕泣星月残,国耻激心阑.
昔时中国内战急,满奴乘间夺汉室,
中外当一家,留发不留头,
南来屠城九十九,汉血染尽汉河山.
读史至此不忍言,历史一长叹,
二百年来为猪狗,汉家英雄起报仇,
百万人头落,争得自由身.
三代安乐忘羞耻,白日繁星乌云连,
洪贼施逆成英豪,扬州十日内战篇,
豚尾大戏日日歌,万家迷倒满装前.
千载精忠事,不值一文钱,
武穆文山皆迂朽,好个智者余桂圆.
黄花冈上看黄花,黄花零落意沉沉,
十万万人齐倒戈,今日中国无汉人.

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录