先学框架=不注重基础?

  这是我最近思考的一个问题。

  我们都知道jspservletj2EE的一个基础,大多数人在学习经典的SSH框架之前,都会先接触过这两个技术,但是要掌握到什么程度呢?一定要用到滚瓜烂熟为止吗?前些天和同学讨论了下这个问题。

  我想大多数接触这种基本技术的多是新手。如果非要将servlet里面各种监听器、传参用的responserequest等等弄得很透彻,估计很快就失去信心了~jdbc的各种设置也是让人觉得很崩溃~但是这并不是说我觉得它们不重要,相反,我觉得它们太重要了,它们是一切框架的基础。我只是觉得我们在学习的初期大致地接触了这些基本技术后,是不是应该先从框架入手,过了一段时间再反过头来看看这些基础呢?

  我做web的时间虽然不长。从大一开始学web,现在大二,跌跌撞撞也用过了不少框架,只是刚开始学习的时候小用了一段时间的servletjsp。对web方面的学习和理解其实很大程度上是从使用这些框架开始的。和大多数人一样,我也是从ssh框架开始学习的。第一次用struts2,给我印象比较深刻的是对url的一个合理规划以及MVC的思想。后来用了hibernate,第一次了解了什么是ORM框架,同时我也开始关注cache,开始关注一个站点的性能问题。无奈当时才学甚是浅薄(现在也只是稍微好了一点点~~),无法把握缓存,导致当时做的东西水的不行。后来无意中发现了另一个ORM框架mybatis,我才开始注意到有很多框架原来是可以被其他的框架替代的,由于mybatis中需要自己写很多的SQL语句,在使用mybatis的过程中,我开始不断地强化自己写原生SQL的能力,这时我开始原生的SQL的一些性能问题。在此之后,我开始学习spring,我觉得spring算是目前为止java世界中最佳一个的框架了,通过iocaop,对整个项目的控制让以前一些比较零碎的功能和看起来分开的框架看起来像一个整体了。

  但是,我不得不说到现在为止,我觉得对我影响最大的框架并非来自java世界的某个框架,而是rubyrails框架,在用过rails后,我开始思考和注重一个网站的架构应该怎么规划才算合理,包括它的restful风格让我开始关注http协议本身,它所倡导的敏捷开发等等东西都给我很多的思考。我将rails中很多优秀的思想用到java的项目中去,之前很多纠结的问题(比如怎么规划文件的目录等等问题)都看起来不再那么麻烦。

  框架开发带来的诱惑是巨大的,它帮助我们轻松快速地构建一个网站,在使用这些框架的过程中,我学习了http协议,关注了不同的数据库的性能,开始去理解一个网站的架构,思考如何开发一个高性能的站点,现在再回过头去看servletjdbc,原先很多非常生涩的东西都很容易就看明白了。

  这样看来简单地学过基础知识,先学过框架,再回过头去看不是很好吗?

  这篇文章不长,算是我对过去相当长一段时间学习的一个思考,这应该也算是一个对先学习基础还是先看到效果这样的问题的思考,不同的人也许对这样的问题会有不一样的看法,也许人在不同的阶段也会有不一样的答案。

你可能感兴趣的:(框架)