`
fantasy
  • 浏览: 515339 次
  • 性别: 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  
该帖迅速成为一个广告贴。

相关推荐

    市场简报:深度学习框架到底是什么?中国AI企业为何纷纷开源自研框架?.pdf

    其次,由于深度学习框架通常采用开源模式,它们的出现促进了业界技术交流和知识分享,算法开发者可以通过学习和借鉴已经开源的代码片段,结合自身需求进行开发和创新,这样不仅提升了开发效率,而且有助于算法的优化...

    JAVA开源框架学习文档

    根据提供的文件信息:“JAVA开源框架学习文档”,我们可以深入探讨与JAVA开源框架相关的多个知识点,包括但不限于框架的选择、安装配置、核心概念以及实际应用场景等。由于提供的具体内容为空,本篇文章将基于标题和...

    深度学习框架到底是什么?中国AI企业为何纷纷开源自研框架?.pdf

    开源框架的建立为人工智能企业本身的技术创新、产品优化、应用拓展、人才引进等方面提供有力支持,是构建成熟AI生态的核心。 在深度学习框架的自主研发和开源化的过程中,中国AI企业通过掌握核心技术和构建开源生态...

    如何学习开源框架 (2).pdf

    学习开源框架是每个IT从业者在成长过程中必须面对的挑战。开源框架如Struts2、Spring和Hibernate等,极大地提高了开发效率,但如何有效地学习它们则成为了一个关键问题。本文将基于提供的信息,探讨学习开源框架的...

    第三方开源框架

    开源库在IT行业中扮演着至关重要...深入理解和熟练使用开源框架,是每个IT专业人士持续学习和提升的关键。通过选择合适的框架、遵守许可证、利用社区资源以及遵循最佳实践,开发者可以在项目中充分发挥开源框架的价值。

    java开源框架实例

    Java开源框架是开发高效、可维护的Java应用的重要工具,它们提供了一系列预定义的结构和组件,帮助开发者快速构建应用程序。本资源包包含了几个与Java开源框架相关的实例,旨在帮助初学者和经验丰富的开发者更好地...

    无刷新整合型网站开源框架

    通过学习和使用这样的开源框架,开发者可以节省大量重复工作,更专注于业务逻辑和用户体验的优化。同时,由于是开源项目,用户也可以参与到框架的改进和扩展中,进一步提升其功能和性能。对于初学者,这是一次极好的...

    清华大学精品AI人工智能课程深度学习全套课程PPT课件含习题(33页) 第6章 深度学习开源框架.pptx

    【深度学习开源框架】是深度学习领域中至关重要的一部分,它为开发者提供了实现和训练深度学习模型的工具。本节主要介绍了三个重要的深度学习框架:Caffe、TensorFlow以及其它一些开源框架。 **Caffe...

    基于Eclipse的开源框架技术与实战 源代码

    《基于Eclipse的开源框架技术与实战》源代码是一份涵盖了多章节的编程学习资源,主要针对使用Eclipse集成开发环境进行开源框架的应用和技术实践。由于文件量较大,该资源被分成了三个部分进行上传,其中包括了从第2...

    开源框架代码

    开源框架代码是软件开发中的重要资源,它允许开发者查看、学习和修改框架的内部实现,以便更好地理解其工作原理,优化性能,或者根据自身需求进行定制。本篇将围绕开源框架代码这一主题,深入探讨其背后的编程思想、...

    BAT大牛带你深度剖析Android 10大开源框架

    BAT大牛 带你深度剖析Android 10大开源框架 好东西分享学习进步

    如何去阅读并学习一些优秀的开源框架的源码? - 知乎1

    总的来说,学习开源框架源码是一个系统的过程,需要从基础版本入手,结合实践和版本迭代,逐步深入理解项目架构和设计决策。同时,利用版本控制工具和调试技术,将帮助你更好地洞察代码背后的思想。

    BAT大牛 带你深度剖析Android 10大开源框架

    十大Android开源框架源码学习:rxjava,picasso,okhttp,retrofit,glide,butterknife,eventbus,dagger2等等。

    renren-fast开源框架开发文档2.0_完整版.zip

    这份《Renren-Fast开源框架开发文档2.0_完整版》全面覆盖了从项目初始化、开发、测试到上线的全过程,是学习和使用Renren-Fast框架的宝贵资源。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,提升自己的开发...

    NFine开源框架源码与文档

    NFine开源框架是一款基于.NET平台的企业级应用开发框架,它为开发者提供了丰富的功能和便捷的开发体验。这个框架集成了许多常见的开发需求,包括权限管理、数据访问、工作流、UI组件等,旨在提高开发效率,降低项目...

    WPF MVVM 开源框架,包含数据验证,很不错的

    **WPF MVVM 开源框架概述** WPF(Windows Presentation Foundation)是微软.NET Framework的一部分,用于构建具有丰富用户界面的应用程序。MVVM(Model-View-ViewModel)是一种设计模式,常用于WPF开发中,它将业务...

    OCC开源框架学习分享学习教案.pptx

    OCC开源框架学习分享学习教案.pptx

    58同城开源框架

    【58同城开源框架】是58同城公司推出的一款开源技术框架,旨在为开发者提供高效、稳定、可扩展的开发工具。这个框架凝聚了58同城在互联网服务领域的技术积累,体现了其对软件工程的最佳实践,有助于提升开发效率,...

Global site tag (gtag.js) - Google Analytics