关于学习JAVA各类框架的看法

   JAVA不同于.NET的一个重要特点就是:.NET就是盖茨到底,从头到尾都是他的微软系列产品。而JAVA有很多的框架,开源的、收费的都很多。STRUTS、HIBERNATE、SPRING,还有国内的那个著名的开源框架Easyjf等等。这些框架是JAVA的优势,因为他们能让开发者开发效率大大提高,能给用户更好的用户体验,无论从速度,还是感观。但是这也是众多JAVA学者的头痛的地方——这么多的框架,而且更新也很快,可能我刚学会了一个框架,但是他的生命周期可能已经到了后期了!这里笔者就以自己的感受谈谈对是否应该学习JAVA框架,和如何学习JAVA框架的一点看法吧,希望对“望而生畏”的您,和“蠢蠢欲动”的您都能有一点帮助!

  首先,回答是否应该学习JAVA框架的问题。这个,笔者毫不犹豫的回答“YES”!为什么呢?原因很简单,出现各种框架的驱动力就是为了能让开发者的开发工作更加快捷,方便,灵活!既然各种框架有这么好的功能,那作为开发者的我们怎么能不学、不用呢?!对吧?但是那么多的东西,怎么能学得过来?这就是第二个问题。

  第二个问题,我想分两方面来回答一下。1、学什么?想要学好,当然要能清楚学什么了!简单的说学JAVA框架,那也太粗糙了!现在流行一句话“少壮不努力,老大搞IT!”。确实,搞IT,是比较惨的,我不是怕加班,而是因为搞了这一行,就必须得活到老学到老。因为我们的领域知识更新实在是太快了!!今天出来这个框架,明天出来那个框架,一个不了解就不行!!请大家注意,这里有一个词用的非常到位:“了解!”。是的,确实是,每出来一个框架,笔者都建议大家去捅一捅,不用有什么项目经验,也不用理解多么深入,毕竟我们的目标还是用框架搞开发,而不是开发框架啊!了解一下,至于道理了解到什么程度,就看看自己的兴趣,爱好,时间,和业务方向了。如果你很闲的时候有一个你喜欢的框架,而这个框架又和你的业务方向是近亲,以后工作很有可能派上用场,那当然要了解得深一点了!但是笔者对了解有一个比较活的定义,那就是,当听到别人说起,或者在网上看到相关报道的时候不会傻眼,提到一个框架时,你能答话,而且别人不会把你的话当外行,那就可以了!为了这个,我一般还是建议“了解”一个框架的时候最好用他做一个DEMO,小也无所谓,聊胜于无嘛!而且笔者的另外一篇文章“初学JAVA何去何从(将登录进行到底--八次写登录页面的收获) ”也对这方面做了比较多的介绍。但是如果你对每一个框架都只是了解到这个程度,那你就还是等于没有学过框架,怎么能这么说呢?原因很简单:你如果从来没有深入的理解一个框架,那你了解在多,你也不会明白到底什么什么是框架的!所以,您必须要深入的学习至少一个框架!而且笔者以为,一个就够了!

  怎么深入的学习?这就是第二个方面:简单的说学习一个框架就是“三个一”。   一本书!要学一个东西必须要有一本好的辅导书!对这本书又有三个一!笔者看书的习惯一般是第一遍:像看小说一样,快速的浏览一下,对“故事情结”大约有一点了解,记录下哪里是重点,就可以了(一般一天就够了);第二遍:得慢慢的看,得深究“词法、句法、章法”!必须对重点进行深入的理解,这时候一定不能有畏难的情绪!要相信,任何实际的技术都是很简单的!第三遍:又是快看,但是这时候进度却会很慢,因为你要一边看一边操作!跟着把树上的DEMO做一下!这样才能明白很多东西。    一个项目!看再多的书,都没有用!纸上谈兵会误事的!必须要有实际的项目经验,你才能从整体上去认识这个框架,否则千万不要说你掌握了某个框架,不然太丢人了!     一篇文章!要说你对某框架的认识到底有多深,很简单,写一篇总结性的文章,往网上发,让网友们帮你鉴别一下,就知道了!群众的眼镜是雪亮的,能帮你认识你自己看不到的庐山真面目!(当然,语文从小学开始就没有及格的例外啊!)  这样你就已经理解了一个框架。我们知道,框架的本质其实是相通的,至少笔者对自己知道的框架,有这么一个认识!在这个基础上,如果有了第一步的“了解”,那要想去掌握他也是非常容易的! 如果因为工作需要要换框架的话,从笔者的经验来看,一般半个月就能上手!

  说了这么多,我知道很多朋友都晕了,总结一下吧:框架,要学!!而且,要深入的学习一个!在此基础上,尽可能多的了解N个!!就这样了!

框架说白了就是JAVA工作者多年以来总结出的一些开发标准。让我们可以以成功的经验模式来开发我们自已的系统,一般使用框架的好处是 ·在好的框架下,开发者只需要写一些必须的代码;他们不需要直接接触底层的API。 这一点很重要。 ·经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。好清晰的结构使得其他人可以更容易加入项目。 ·一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践。 ·采用成功的框架的代码比自己的代码容易测试 J2EE本身提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在中小工程中我们都不会使用,会让我们把大量的时间浪费在开发框架上。 而现在比较流行开源框架,主要是struts,hibernate,spring等 比如struts是在原有mvc基础上实现在代码分离等功能,非常好用。 而hibernate可以把我们的关系型数据库转换成我们在JAVA中的面像对像来使用。从而让我们在开发时不需要直接写SQL语句,比如database.getName();就可以直接把数据库中的用户名取出来。 Spring J2EE框架被大规模地运用到项目中,而项目总要负责这些框架以及自己业务代码的连接,使之真正融合到一起。Spring就是专注于这个问题的,它和Hibernate融合的很好。 这三种框架在一起并不冲突,所以现在最常用的框架就是 struts+hibernate+spring就像我们盖房子一样,先把框架搭好,我们在在上面写代码就很规范。 Struts框架介绍 : Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实 现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 就是说可将两者一起使用,达到将两者自身的特点进行互补。 spring 框架介绍 : 它关注的领域是其他许多流行的Framework未曾关注的。Spring要提供的是一种管理你的业务对象的方法。 Spring既是全面的又是模块化的。Spring有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致。 因此你能从你的学习中,得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 它的设计从一开始就是要帮助你编写易于测试的代码。Spring是使用测试驱动开发的工程的理想框架Spring不会给你的工程添加对其他的框架依赖。Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑到的内容。 尽管它仅仅是一个从2003年2月才开始的开源项目,但Spring有深厚的历史根基。 Spring架构上的好处 在我们进入细节之前,让我们来看看Spring能够给工程带来的种种好处: Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。 Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个 魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值