话说“框架”

06-09-11 hlayy
    

我没学过“Struts,Spring,hibernate”这些框架,我知道,现在大家都把这些东西组合起来做项目,或者还用到了一些其他的“框架”。我心里有几个问题想说说:

我觉得SUN公司是不是有点问题,有很多事情,他们做比我们做好多了。

1、SUN公司应该研究出现的开源的框架,并对使用这些框架给出一些意见,制定一些标准,例如,做什么类型的网站,用哪种技术,或者哪几种框架组合比较好一些。做为开发人员,有这么多的框架给我们选择,这固然是好事,但是,我们把太多的时间放在框架的选择上,这是我们份内的事还是份外的?而且不同的公司用不同的方法来开发,先不论开发出来的产品性能究竟如何,就是管理上也只会增加自身的困难,招技术工或者换了技术员等

2、“枪”可以杀人,杀鸡,但是不能炸房子。“炮”可以杀人,杀鸡,还可以炸房子。那么EJB和框架组合的作用,到底是一样大呢,还是作用范围有所不同?如果说EJB是炮,Spring等框架组合是枪。那么用“炮”去杀鸡,似乎显得多余了些。但是我们搞软件开发的目光就这么短浅么,要是“鸡”长大了,变成了“房子”,那么光用“枪”还能搞得定么?我觉得这个世界是变化的,软件开发这东西更是变化的。当我们开发的时候也许系统还很“小”,但是以后变“大”了呢?当SPRING等框架组合搞不定,重新需要用到“EJB”时,这时的工作量该怎么计算?SUN公司为什么不搞个衔接的东西呢?开发“小”的系统和“大”的系统用的是同样的东西,他们之间只需要组合,而不是重新做每一个部分。

J2EE标准里MVC的两种模式有点这样的味道,但是不多。MODEL1(JAVA+JAVABEANS),MODEL2(JAVA+JAVABEANS+SERVLET),他们之间还是不能太如意的转换,他们转化到EJB系统时,那该是怎么一回事?是不是有永远“小”的系统,不然,等它变“大”时,我们当时贪图的“轻快”,还是那么“轻快”么?

3、有标准的时候,我们最好还是别玩个人主义。J2EE的标准就是让我们各做各的事,但是现在有太多的框架,你不觉得让我们很累吗?本来有一个EJB就够了,现在搞的什么框架都得去学下,连陪老婆的时间都给花上了,就为了做开发时轻松那么一点点?

4、开发EJB很烦琐,可是现在又有多少可以重用的EJB组件呢,要是有很多的话,那我们开发的时候不就简单了些?搞那么多框架真是混乱,真的有意思么?

5、如果框架是弥补不足(感觉STURTS是弥补表现层的不足,其他的我没研究过),那么我无话可说。如果框架影响了扩展或者别的,或者框架的功能不足改变架构牺牲了太大的代价,我们是否该思考当初选择这些框架是否是正确的?

SUN公司其实给我们带来了很多的麻烦事。J2EE让百家争鸣,却没能把他们“统一”。撇开技术,我觉得SUN公司有些地方跟微软真是差距大了。微软把我们“困”死在他的地盘,JAVA却把我们搞得很疲惫。

我刚毕业,找不到工作,有谁能帮我推荐个工作么,JSP程序员就行了,我愿意从最低的地方做起。

我算是刚入这行,了解也不深,我只是说说我的想法,也许有很多错误的地方,还望大家指正。

    

hlayy
2006-09-11 18:40

我是在没有用过“框架”的情况下写这篇文章的,我是以门外汗的角度看现有的框架,以及觉得它存在哪些问题,我的目的是希望你们的回复能让我对“框架”以及“框架”的使用有全面而深入的理解。希望大家指教

santafeng
2006-09-11 20:12

在国内,简单的说程序员会使用xx复杂框架技术就是说程序员的薪水往上涨了。能写出什么模式就是系统设计工程师,能做什么系统就是架构师。

做出来并不一定等于好,但不做永远也不能好。国内就是这样,所以还能做的就是随大流,因为你是小船。

banq
2006-09-11 20:19

敢于表达想法就非常不错。

>SUN公司其实给我们带来了很多的麻烦事。J2EE让百家争鸣,却没能把他们“统一”。撇开技术,我觉得SUN公司有些地方跟微软真是差距大了。微软把我们“困”死在他的地盘,JAVA却把我们搞得很疲惫。

现实是残酷得,没有竞争就没有技术的进步,你别以为微软好多少,到现在操作系统和office还是其主要盈利点,离靠.NET盈利远着呢,所以,gates要下课。

标准可以来做标准的工作,非标可以做特殊事情,各得其所。要把架构选择看成你家房子装修一样,慎重对待总是正确得。

hlayy
2006-09-11 21:14

看来“框架”的问题已经上升到人生问题了。

随大流,现实真的是很残酷,这个我是知道的。那么多比我还菜的人都找到工作了,我却没有:)。也许我从小就很叛逆,从小就不随大流,我觉得做事就要追求完美,要尽力把它给做好。我想这个也是我找不到工作的一个原因之一吧。呵呵。

随大流的,永远是小船,是对的,我们是要坚持自己的。

.NET是否赢利,我想涉及到很多技术以外的问题吧?就是你现在JAVA领域里所有的技术加起来,也很难有人说得清楚到底是.NET好,还是JAVA好?

装修的时候我们固然有很多可以选择的材料,就象现在的“框架”,我们的选择很多时候是看着眼前的情况的。等过了一段时间觉得我们装修得不好,很多时候就得把以前的装修全部给否定了,而不能在其基础上进行升级。我的意思是,假如我们很穷,所以买了一台2000块的电脑,但是有天我们有钱了,我们只要花3000块钱,它就变成了一台价值5000块的电脑,而不需要另外花钱买一台5000块钱的电脑同时又要再一次浪费花在挑选电脑上的精力。

我认为我们是否可以追求那种“升级”的空间?(“现有框架的升级,适应不同的需求,而不是另立新的框架”)也许这只能是个理想,很难实现的了吧。