`
fantasy
  • 浏览: 506402 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何学习开源框架?

阅读更多

   作者:kiral  链接地址:http://kiral.iteye.com/blog/791155

 

   前短时间被人问起“如何学习开源框架”这个问题,大家是如何学习开源框架的呢?

 

   整理了下自己的思路,仅供拍砖!

 

   1:了解:先了解该开源框架在什么背景下诞生的,主要用来解决什么问题。

       (做了产品经理之后遇到啥事,我都先讲背景,生怕客户听不懂)

 

   2:熟悉:这个开源框架的原理是什么?比如用了什么设计模式。比如运用了反射机制。

 

   3:思考:如果让你来设计这样的开源框架, 你如何设计?很多框架都很笨重,你是否能按照自己的设计弄一个轻量级的。做这一步的目的是让自己带着问题去学习开源框架,不然看着看着就云里雾里了。

 

   4:深入:下载开源框架的源代码,运行一个Demo,找到框架的入口,使用debug模式,断点看源代码的执行流程。

 

   5:总结:总结该开源框架的优点和缺点是什么。我想到这个阶段你可以说是精通该开源框架。

 

    其他技巧:

  1. 有一定能力的技术人员先看DEMO 文档太多很容易看晕。
  2. 先看框架的外层,再看内层。逐层学习。
  3. 多画图,将信息结构化。
  4. 多总结,将信息由多变少。

 

我觉得学习能力即总结能力,所以总结很重要,你学习一个东西,看过了,不代表你会了,背过了,不代表你会了,只有反复学习和总结之后,深深的植入你的潜意识才算你会了。

 

 

 

 

分享到:
评论
26 楼 fangshengcai001 2011-05-03  
<div class="quote_title">fantasy 写道</div>
<div class="quote_div">
<p>   作者:kiral  链接地址:<a href="http://kiral.iteye.com/blog/791155"><span style="color: #006600;">http://kiral.iteye.com/blog/791155</span></a></p>
<p> </p>
<p>   前短时间被人问起“如何学习开源框架”这个问题,大家是如何学习开源框架的呢?</p>
<p> </p>
<p>   整理了下自己的思路,仅供拍砖!</p>
<p> </p>
<p>   1:<strong>了解</strong>:先了解该开源框架在什么背景下诞生的,主要用来解决什么问题。</p>
<p>       (做了产品经理之后遇到啥事,我都先讲背景,生怕客户听不懂)</p>
<p> </p>
<p>   2:<strong>熟悉</strong>:这个开源框架的原理是什么?比如用了什么设计模式。比如运用了反射机制。</p>
<p> </p>
<p>   3:<strong>思考</strong>:如果让你来设计这样的开源框架, 你如何设计?很多框架都很笨重,你是否能按照自己的设计弄一个轻量级的。做这一步的目的是让自己带着问题去学习开源框架,不然看着看着就云里雾里了。</p>
<p> </p>
<p>   4:<strong>深入</strong>:下载开源框架的源代码,运行一个Demo,找到框架的入口,使用debug模式,断点看源代码的执行流程。</p>
<p> </p>
<p>   5:<strong>总结</strong>:总结该开源框架的优点和缺点是什么。我想到这个阶段你可以说是精通该开源框架。</p>
<p> </p>
<p>   <strong><span style="font-size: small;"><span> </span></span><span style="font-size: x-small;">其他技巧:</span></strong></p>
<ol>
<li><span style="font-size: x-small;">有一定能力的技术人员先看DEMO 文档太多很容易看晕。</span></li>
<li><span style="font-size: x-small;">先看框架的外层,再看内层。逐层学习。</span></li>
<li><span style="font-size: x-small;">多画图,将信息结构化。</span></li>
<li><span style="font-size: x-small;">多总结,将信息由多变少。</span></li>
</ol>
<p><span style="font-size: small;"><strong></strong></span> </p>
<p><span style="font-size: small;"><strong>我觉得学习能力即总结能力,所以总结很重要,你学习一个东西,看过了,不代表你会了,背过了,不代表你会了,只有反复学习和总结之后,深深的植入你的潜意识才算你会了。</strong></span></p>
<p><strong></strong> </p>
<p><strong><span style="font-size: small;"> </span></strong><strong></strong></p>
<p> </p>
<p> </p>
</div>
<p> </p>
<p>学习了...都是看差不多了不总结.</p>
25 楼 sunminandy 2011-05-03  
好像几个主流开源框架都用到发射机制
24 楼 shansun123 2011-05-02  
有时会跳过第三步,我觉得把握思想后,可以应用在别的地方
23 楼 fantasy 2010-10-27  
adss101 写道
同意这样的看法,,如今天的框架越来越多,,看懂一个,,精通一个就行了,,其它的了解一下就行了.

如今的开源框架的确很多,所以在使用开源框架之前必须选型,针对自己的业务需要去做技术框架选型,比如我要做一个简单的工单系统,那么osworkflow就非常适合,而jbpm则显得更重。
22 楼 adss101 2010-10-25  
同意这样的看法,,如今天的框架越来越多,,看懂一个,,精通一个就行了,,其它的了解一下就行了.
21 楼 fantasy 2010-10-24  
kimmking 写道
fantasy 写道
kimmking 写道
fantasy 写道
...mo_mo... 写道
是哦,总结的能力很重要,只有有意义的思考,才能进步,才能被自己真正的掌握。

的确,思考是记忆的不二选择。

ps:
apache的东西里,很多源码拿下里,死活跑步不来。
感觉缺胳膊少腿的。

such as: cxf, derby

呵呵 这种情况我也遇到过,我采取源代码加jar同时引用来学习。

我就一顿改+删。

把不能跑的,修正不了的都去掉再说。

呵呵,你这方法也不错。
20 楼 kimmking 2010-10-23  
fantasy 写道
kimmking 写道
fantasy 写道
...mo_mo... 写道
是哦,总结的能力很重要,只有有意义的思考,才能进步,才能被自己真正的掌握。

的确,思考是记忆的不二选择。

ps:
apache的东西里,很多源码拿下里,死活跑步不来。
感觉缺胳膊少腿的。

such as: cxf, derby

呵呵 这种情况我也遇到过,我采取源代码加jar同时引用来学习。

我就一顿改+删。

把不能跑的,修正不了的都去掉再说。
19 楼 fantasy 2010-10-23  
kimmking 写道
fantasy 写道
...mo_mo... 写道
是哦,总结的能力很重要,只有有意义的思考,才能进步,才能被自己真正的掌握。

的确,思考是记忆的不二选择。

ps:
apache的东西里,很多源码拿下里,死活跑步不来。
感觉缺胳膊少腿的。

such as: cxf, derby

呵呵 这种情况我也遇到过,我采取源代码加jar同时引用来学习。
18 楼 kimmking 2010-10-23  
fantasy 写道
...mo_mo... 写道
是哦,总结的能力很重要,只有有意义的思考,才能进步,才能被自己真正的掌握。

的确,思考是记忆的不二选择。

ps:
apache的东西里,很多源码拿下里,死活跑步不来。
感觉缺胳膊少腿的。

such as: cxf, derby
17 楼 fantasy 2010-10-23  
...mo_mo... 写道
是哦,总结的能力很重要,只有有意义的思考,才能进步,才能被自己真正的掌握。

的确,思考是记忆的不二选择。
16 楼 fantasy 2010-10-23  
bangyan2003 写道
由用起步 一切皆从应用出发。自己当然是实现了工作的需求,但是以后再遇到的话,怎么办,依葫芦画瓢吗?指定有简洁的方法去实现已经有的东西,那么要寻找,检索到了之后就要联想自己的一些棘手的东西,有的话就用找到的东西没有的话舍弃。不断的向自己提问,向自己所遇到的问题发起进攻。其实所遇的问题也基本上就是一种比现有的东西更加好的方案,至于精进到何种地步,看自己的意志力叻。
不从用出发,很容易陷入人云亦云的理论派;当然一切从用出发也可能陷入急功近利的状态哦 哈哈

呵呵 我的想法是一切从价值出发。评估自己做一件事情的投入产出比有多大。如学习开源框架,有的停留在用的程度上即可,有的必须深入。
15 楼 fantasy 2010-10-23  
forgood 写道
对于开源框架,先从宏观上把控,在从细节不断完善。

说的很对,这也是一种学习思路。由面入全。
14 楼 fantasy 2010-10-23  
J-catTeam 写道
what? how?why?
这是什么?
怎么用?
为什么?

这位仁兄说的言简意赅啊 呵呵!
学习所有的东西都可以遵循你这个思路。
13 楼 mr_kairy 2010-10-23  
丨佑手畵情丶 写道
答案可参考
http://shyboy10228.blog.163.com/
教一个程序员如何提高工资的免费咨询会

完全扯淡。。
12 楼 J-catTeam 2010-10-23  
what? how?why?
这是什么?
怎么用?
为什么?
11 楼 forgood 2010-10-23  
对于开源框架,先从宏观上把控,在从细节不断完善。
10 楼 forgood 2010-10-23  
从实践出发检验自己所学的是否正确,这样理解的比较深刻,自然就不容易忘记;对于源码的开发,我赞成 楼主的看法!
9 楼 bangyan2003 2010-10-23  
由用起步 一切皆从应用出发。自己当然是实现了工作的需求,但是以后再遇到的话,怎么办,依葫芦画瓢吗?指定有简洁的方法去实现已经有的东西,那么要寻找,检索到了之后就要联想自己的一些棘手的东西,有的话就用找到的东西没有的话舍弃。不断的向自己提问,向自己所遇到的问题发起进攻。其实所遇的问题也基本上就是一种比现有的东西更加好的方案,至于精进到何种地步,看自己的意志力叻。
不从用出发,很容易陷入人云亦云的理论派;当然一切从用出发也可能陷入急功近利的状态哦 哈哈
8 楼 風一樣的男子 2010-10-22  
怎么那么多广告。。。
7 楼 qrg 2010-10-22  
该帖迅速成为一个广告贴。

相关推荐

Global site tag (gtag.js) - Google Analytics