說在前面設計模式
今天分享下爲何要看源碼以及怎麼看源碼,更多精彩請關注天河聊架構微信公衆號。微信
言歸正傳架構
我認爲看源碼有如下三種層次和目的框架
知其然也要知其因此然,爲了快速解決遇到的棘手問題學習
一門技術只是會用沒什麼用,只有熟練了纔有用,用了一門技術遇到問題怎麼去快速解決,通常解決問題的能力能直接體現你的綜合能力。由於有的棘手問題不是短期能解決或者說不是能順利解決的,你須要利用你的技術廣度和深度再加上你以往解決問題的經驗。spa
咱們雖成爲不了北喬峯,但能夠學習南慕容,最後要成爲楊過架構設計
本身要會造輪子先要學會別人怎麼造輪子,天龍八部中南北兩大高手,北喬峯是天資很好靠名師指點最後成爲江湖頂級高手,南慕容是靠學習各大幫派的武功也成爲了高手,射鵰英雄傳中楊過從蛤蟆功開始學起,中間通過神鵰指點成爲江湖高手,最後本身悟出黯然銷魂掌終成一代大俠。設計
向喬峯同樣天資聰明,武功根基良好的人並很少,大部分都是資質通常,要靠後天勤學苦練,在學習中不斷悟道,總有一天也能有成。源碼
學習源碼也是同樣,看一遍看不懂很正常,看一遍有一遍的理解,看不懂就在看一遍,直到看懂爲止,看的過程要多思考,子曰:「學而不思則罔,思而不學則殆」,這個地方爲何要這樣設計,若是是你應該怎麼設計,怎麼纔是更好的設計,學習別人的設計思想,你能夠實現一個優秀的框架。系統架構
術生道,道生術,術中有道,道中有術,道術相連才能生生不息
這裏的術指的是架構設計模式,道指的是架構思想,二者是相輔相成的,只有思想不去實踐你的架構設計是落不了地的,只有在不斷實踐中去理解、思考架構設計思想,獲得的架構思想再去實踐,架構師不是一個職位,是一個角色,你用架構師的思想去思考問題解決問題你就是架構師,沒有更好的架構,只有合適的架構,好的代碼不是寫出來的,是改出來的,架構也不是一層不變,好的架構是演變而來。要想成爲一個好的架構師,學習和實踐是咱們一直堅持要作的事情,慢慢的你會提煉出本身的架構體系,假以時日,你也能夠成爲大俠。
最後分享下怎麼閱讀源碼
學習框架
學習源碼的基礎最好是對這個框架有基本的瞭解,若是已經熟練使用那是最好的。不要着急先去看功能怎麼實現,要弄懂實現原理,框架是怎麼搭建的,有哪些基礎組件組成,組件之間的關係是什麼。
先由面到線再到點去學習,後由點到線學習
對整理框架了解以後,能夠在針對某一個面去學習框架是怎麼運行的。先對框架有總體瞭解以後再去由面到線再到到點去學習,完成這個以後,再有點到線學習就簡單多了,若是是爲了解決線上問題,到這個層次就夠了,後續能夠帶着問題去在源碼中找解決方案。
學習架構思想
在由面到線到點學習完成以後,這個層次能夠從系統架構層次去學習源碼,若是你功力深厚能夠從這個層次開始學習完成以後在到達第一個層次。
說在最後
本次解析僅表明我的觀點,僅供參考。