日期:2014-05-18  浏览次数:20747 次

很烦恼,到底用框架,还是纯JAVA
考虑到版权的问题,公司基本上是决定用JAVA的了。但现在又出现了新问题,到底是用框架,还是纯JAVA?
我现在被公司排到一个培训中心学习。JAVA已经学到可以做简单的项目了。
这个学习又学了框架的使用(SSH)。没想到因为使用前要进行麻烦的设置,而且多人合作开发的之后,合并项目的时候,要对XML文件进行复杂的修改(可能还没掌握到巧妙之处),以及经常抛写不知道怎样修改的异常出来,使我对框架的使用不是很感冒。
后来无意之中和该中心的校长的一次谈话中,他对框架的评价更是贬多于褒,更使我对框架提不起兴趣。
但没想到的是,中心教JAVA的老师,对框架却又非常推崇,说可以减少工作量,提高开发效率。

纯JAVA写项目的时候,虽然写Bean、写Form、写Action都比框架麻烦得多,但很多时候,我可以对代码有充分支配权,操作的自由度很大。特别是有些多表链接T-sql语句,连教JAVA的老师都承认,写起来比用框架灵活得多。而公司的项目,有些方面的业务逻辑比较复杂,我很担心用开了框架之后,很多东西被封装起来,到时用起来会非常不方便。

所以现在我就很烦恼,到底是在框架上再多下一些功夫,还是用纯JAVA就算了。
还有一个问题,学框架赌场,老师说了一句话,我印象非常深刻的:用了框架,大家以后就可以不用“new”。是不是“new”一些类出来的时候,会占用很多资源?如果接入服务器的用户多了起来,大家都“new”的话,是不是会对服务器做成很大的麻烦?

谢谢!

------解决方案--------------------
谈谈我的看法
首先,为什么要用框架。看过一句话,我很赞同
框架就是为了实现设计的复用
一个大型的项目,都会有架构师先把系统的整体架构设计好之后,然后程序员
领会他们的思想,再开始编码,这样,不同的程序员写出来的代码可以很好的协同工作。
框架也是如此,现在流行的框架都是很多人一起开发出来,并且不断改进的作品。
充分考虑了整个系统的健壮性,安全性等等。一个团队搞开发的时候,如果大家都会某个
框架,那么可以很容易的明白自己要做什么,怎么做,这是框架的优点之一
其次,框架都是在不断改进,不断完善之中,很多地方,都是大家公认的最佳实践(Best Practise)
对于初学者来说 框架就是一部教科书 可以加快他们的学习进程

然而,由于框架并不总是能符合具体应用的要求,很多地方都是考虑通用的情况,可能会带来一些
效率上,或者其他方面的不足。因此,框架要求使用者对框架有足够深入的了解,必要时候,根据
具体情况改动框架。

总之,对于框架,我是褒多于贬,诚然,很多东西,不同过框架,我们都可以用很灵活的方式
实现,但是,JAVA语言本身就是一门工业化的强类型语言,为大规模的应用而生的,
现在软件也是逐渐向多人构建大型应用发展,所以,我的建议还是用框架。

唉,想到以后大家可能都向编码员方向发展了,惆怅啊
------解决方案--------------------
到目前为止,尚未长时间使用MVC的框架。只是用过taspety 大约1个月。

不好评价框架的详情。


不过,既然这个东西如此流行,我想其道理一定很有说服力。个人认为应该是统一了编码的习惯。

10个人,每人的编码习惯不同,这样大家合作一个项目就会出现很多个版本,这样对于整个项目非常不利。你写的代码和我的连结构都不同,互相看其它9个人的将是非常困难的。虽然结果都出来了,但以后的维护成本将会非常大。

使用框架则正好解决的部分问题,大家都在用同一个东西在做,写出来的也都差不多,都是标签,配置文件和后面的action.详细看具体的某个功能的实现当然就简单的多了,因为那只是局部代码。

如果项目小,2-3个人做,大家约定一下编码规范也是可以的,难道那些MVC出来之前,全世界的人都不编码了吗?呵呵。

配置文件冲突,这个在任何地方都出现,不是框架的问题,而是管理的问题。
------解决方案--------------------
1.如果你能很好的完成框架有的功能你可以不使用框架
自己实现类似框架的东西 是很灵活
但是你不用框架你就不用mvc了吗?
那样你的代码可能较难维护
虽然在你类多的时候mvc也可能产生类爆炸
但是相对还是较成熟 封装的东西也较实用
2.你也可以不用spring
但是spring的ioc是一个比较好的思想
你可以自己使用简单工厂模式来实现
spring的aop也很好 
你也可以使用发射来自己实现
但是spring的背后有一个开源的团队
我想应该会比很多人自己实现的要成熟
3.hibernate的使用是稍显笨重
但是可以省去很多工作不用自己来做
正确使用也不用太担心效率的问题
理论上会比一般人自己实现持久层要好一些

综上:个人认为框架的使用就是为了方便、快捷、避免重复劳动
没有框架我们一样可以完成工作,但不一定可以同样快捷、很好的完成工作
框架的一些思想都是从实际工作中抽象、分离出来的
如果你可以很好的用自己的代码来实现这些思想、代码很灵活、也很好维护、同时开发也很快捷
你完全没有必要使用框架
不要为了使用而使用

------解决方案--------------------
在最初学习的时候,当然是学习纯java,它有助于你理解java底层和内部的一些东西.
不过在实际开始应用时,应当采用框架来完成.
当然,很重要的一点是,你应该有为你的应用选择一个合适框架的能力.这往往是架构师来做的,所以,不是说要使用框架,就可以随便拿一个来用的道理.
框架往往有助于我们整个业务的理解,有助于我们进行代码的重构,减少我们的工作量.

比如,你在开始一个项目前,已经对项目的基本应当采用的架构和技术有了很多了解,并且,你对几种框架有很好的理解.那么,往往,在对这几个框架进行比较,选择的过程中,你会对你的项目的业务逻辑有更进一下的认识,可以说是做了一种更好的抽象.这往往得益于你选择了正确的框架,它会帮助你对当前的业务逻辑或者系统的结构豁然开朗.
------解决方案--------------------
探讨
自己写框架,总不如现成的好吧?毕竟人家是一个team,而且发布了,被到处用了的框架。。。。。。

当然框架不是万能的(记得当年还是一个商业软件框架呢,竟然编译不通过。。。。。C++的,必须自己改了才行。。。。。。)

其实,学习嘛,先IDE,然后框架,等作了一两个项目,回过头来再看基础也没啥不好。

------解决方案--------------------
探讨
学到底都是一样的
关键不在于你用不用框架
关键是框架是否适合你的项目

------解决方案--------------------
1.你如果是公司的项目的实现人员,基本不用考虑使用什么来实现,因为项目的设计架构工程师已经定好了,你照他的要求做就是了;
2.你如果是公司的项目的设计人员,要从项目的大小和客户的需求来设计项目的具体的实现框架;
3.你如果以自己学习为主,那我建议你都看一些,了解现有一些框架,可能以后真正项目中用不上,但这些都是相通的吗!

以上个人意见,只做参考!
------解决方案--------------------