前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >作为一个程序猿你必须会的技能----自学框架

作为一个程序猿你必须会的技能----自学框架

作者头像
Java编程指南
发布2019-08-02 16:23:08
4060
发布2019-08-02 16:23:08
举报
文章被收录于专栏:Java编程指南Java编程指南

一:引言:

这篇文章主要来源于和群里猿友的聊天,有猿友问LZ该如何学习一个框架。LZ想了想,这确实是一个值得探究的问题,于是这篇博文就应运而生了。接下来LZ就和各位猿友分享一下LZ个人学习框架的一些方式和方法,或许对大部分人还是有一些启迪作用的。

二:找到它的老家:

当我想要学习一个框架的时候,首要做的就是找到它的老家。打开你的浏览器,输入网址:www.google.com(为何不是百度?因为我们学习的框架几乎没有china的),然后输入你想学习的框架,比如spring(本文以它为例,其余其实都是类似的)。

  第一个出现的一般就是它的老家,就像下面这样。

  擦,剧情不该是这样的,导演掐了重新来一遍啊。该死的google老是这样。据之前LZ的某老师说,这都是度娘干的。

  好吧,甭管是谁干的,我们只管不断F5即可,最终你会看到下面的画面。

  bingo。画面出来了。这就是spring的老家,我们想要研究它就从它开始吧。接下来请你默默的打开它的链接。是的,默默的。

三:直入正题,找例子:

  接下来我们就要直入正题了,进入它的页面后,你会看到这样的导航。

  看到了吗?看到了吗?

  guides,LZ蹩脚的英文大概看出来它就是向导的意思,于是我们果断进来一看究竟。进来以后,你会发现一堆向导,这里就是你的百宝箱。

  里面有各种各样的例子供你使用。接下来你需要做的就是按照其中某一个一步一步的做下去,直到完成你的目的。比如你想做一个任务调度器,那么就果断进入Scheduling Tasks。接下来,你就看到了这样一个无脑学习的页面。

  看到了吗,你只需要ctrl+C/V就可以完成你的任务。不过这只是一个开始,因为这毕竟只是一个简单的例子,你还需要根据你当前的需要进行一些改变。如果你需要的正是这个例子,那么就再好不过了。

四:寻找文档:

  通常情况下,在你完成任务的过程当中,总会遇到这样或者那样的问题,就算没有遇到,如果想要学习一个框架的话,一个完整的说明文档往往也是你需要的。在接下来的过程当中,我们的任务就是寻找文档。这个过程往往是最困难和痛苦的,这与LZ蹩脚的英文有很大关系,所以每次找文档都让LZ痛苦并快乐着。

  不过这里面总有一些大概的规律,比如doc、document、documentation这样的字样总是那么的亲切。而且我们不需要担心一个框架没有文档,因为对于开发它们的人来说,我们就是客户,就是上帝,所以他们必须要让上帝能看懂他们写的东西。否则的话,他们写的东西是没有客户的,没有客户就意味着没有创造价值,没有创造价值就意味着可能会被炒鱿鱼,被炒鱿鱼就意味着可能会被媳妇嫌弃,被媳妇嫌弃就意味着可能会被@#¥&绿#&%¥&*

  LZ并不会把文档看的太深入,主要就是看一些自己开发需要的东西,还有很重要的一点就是,从当中找到框架的核心实现原理。比如spring当中,IOC的相关内容就是它的核心实现原理,因为spring的所有框架(比如AOP、security等等)都是建立在IOC的基础之上的。

五:寻找入口,跟踪源码:

  这下例子也看过了,任务也完成了,文档也有了,如果我们想要更加深入的了解一个框架,那么源码就是必不可少的一个环节了。说起来还是得感谢JAVA的开发氛围,几乎所有的东西都是开源的,所以你总能找到源码。

  标题当中提到了入口,所谓寻找入口,就是寻找一个框架的切入点。比如spring的入口就在web.xml当中的监听器,而struts2的入口就是web.xml当中的过滤器,常用缓存的入口往往存在spring管理的缓存的定制工厂bean当中等等。

  找到入口,你就能从头开始调试,了解整个框架初始化的过程,以及初始化后是如何工作的。在跟踪源码的过程中,最好结合你的例子,搞清楚你的例子是如何运行的。比如刚才的定时器调度,搞清楚spring是如何帮你进行调度的,比如执行任务的线程是如何分配的,任务的触发是如何进行的等等。

六:找到框架的优劣势并努力体会它:

  说到这里,请各位猿友想象一下,当你在逛商场的时候,如果你想要买某一样东西,一般情况下,你总会在各个品牌或者同一个品牌的不同类型之间相互比较,如果你从不这么做,请允许LZ尊称你为“土豪”。

  如果你这么做了,请仔细的想想,你是在比较什么?

  当然是优势和劣势了!

  对于我们程序猿来说,框架就是一个一个的商品,而我们就是这些商品的客户。如果你想要做一个能买到物美价廉的商品的客户,就必须了解各个商品的优劣势。只有了解了各个商品的优劣势,我们才能在众多的框架当中选择合适的框架,你说是吗?

  所以,不用说,我们要想了解一个框架,就必须知道它的优劣势,尤其是劣势。优势一般在框架的老家当中就能找到,因为这是在为他们的项目吹牛皮呢,他们的官网自然不会忘了这一项。至于劣势,就需要自己根据例子、源码以及其实现原理好好体会一下了。

七:结束语:

  框架说到底就是一个商品,我们只是其中一个用户罢了。因此LZ不建议各位猿友把框架的研究当做毕生梦想,更不建议各位沦陷于研究各种各样的框架,或者去尝试各种框架的例子,并很自豪的对着镜子说“你好厉害,你竟然会这么多框架”。注意!请你至少完成了以上几件事,再说你会这个框架吧。

  框架只是我们针对特定场景所作出的选择,因此我们只需要有学习框架的能力即可,千万不要想着能把全世界所有品牌的牛奶都尝试着喝一遍,如果你非要这么做的话,LZ保证你一定会死于非命的。这就像你买药一样,你只需要知道当你感冒的时候应该吃什么药,当你拉肚子的时候应该吃什么药就好。更好的情况是,当你万一有其它毛病时,你也可以通过一些途径找到适合你的药。

  话已至此,就啰嗦到这里吧。总之,深入的研究一下少数几个优秀的框架,还是非常有益的,但不要贪多,学会适可而止即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java编程指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一:引言:
  • 二:找到它的老家:
  • 三:直入正题,找例子:
  • 四:寻找文档:
  • 五:寻找入口,跟踪源码:
  • 六:找到框架的优劣势并努力体会它:
  • 七:结束语:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档