在java中分析源码学习源码,已经不是传统意义上的看到源码就分析学习,而是有的放矢,否则浪费时间和精力。
简单地说:框架软件的源码没有必要去分析,例如Struts等,只要了解其大概流程就可以了,因为框架软件保证其应用简易和约束性,会有很多烦琐细碎的代码,这些都妨碍了可读性,打个比喻,框架源码就象JDK源码一样,只要会用,无需去学。
框架应用软件源码应该去读,如何使用框架完成自己的系统。
说到底,还是和大部分程序员向下思维观点所致,有的程序员为表示自己水平高,说struts源码都读懂,我会用很惊讶眼光看他,不是走火入魔就是愚笨的人。
包 括学习Spring/Jdon框架这些,都没有必要去读源码,很多热心网友阅读Jdon框架源码,提一些问题,初衷是好的,但是方向错误的。以前一些很有 名的高手拿Jdon框架做文章,当时根本没理他,因为他基本专业方向就是错误的,思维向下的,看一个框架好不好,不是看框架源码写得好不好,而是看在多少 个不同项目上应用如何,从灵活性 快速性等几个指标来评价。
分析学习源码是学习JavaEE必不可少的阶段,但是必要知道重点和方向,否则才能收到事半功倍的效果,否则花了很长时间和精力,都没有进步。
分析源码最好对比着看,例如struts框架是MVC模式,那么我看看不使用struts框架的源码是怎样(如Jive2/Yazd),然后我再看使用了MVC框架后的源码,有什么不同(如JiveJdon3),这样,对比才领会不同。
还有宠物店,看看SUN的Petstore,和Spring的JPetstore,或Jdon框架的Jpetstore,他们有什么不同,这样,视野开阔,就象买东西,好的坏的都看过,这样才知道掂量分寸。