前言:雖然筆者一直夢想成為一名架構師,但實踐的仍是少之又少。這篇文章是筆者在2016年5月份參加一次UML培訓時授課老師分享的經驗,略做整理,以供自己以及有同樣志向的小伙伴參考。
第1階段——技術
- 感悟技術的內涵——編程語言與操作系統結構(Linux)
- 技術是架構師的敲門磚
- 駕馭編程語言,看透編程語言(C/C++)
具備扎實的技術功底是成為一名架構師的首要條件,離開技術的架構師只能是無源之水、無本之木。老師給出了架構師如何獲取所需基礎技術的途徑和建議:
第1月:
- 使用手機來閱讀Linux內核0.01版,8000多行代碼
- 將*.C和*.H改名為*.TXT(方便在手機上閱讀)
- 從任意一個源文件讀起
第2月:
- 使用手機來閱讀Linux內核0.11版,16000多行代碼
- 對比閱讀,為什么增加了8000多行代碼?是變好了,還是變變壞了?
- 既掌握了技術,又學會了重構
第2階段——詳設
- 通往架構師之路的第二站——詳細設計
- 學會功能模塊的切割與設計
- 掌握類圖表達設計的方法
第3月:
- 使用手機閱讀Linux 1.0內核的UML類圖
- UML工具(e.g. EA)反向工程獲得Linux 1.0的類圖
- UML Model轉化為JPG圖片
- 思考:為什么這個模塊有這些函數?函數分類
第4月:
- 使用手機閱讀Linux 2.0內核的UML類圖
- 與Linux 1.0類圖對比閱讀,為什么設計發生變化?
- 設計的改造是向好的方向發展,還是向壞的方向發展
- 參悟設計重構的內涵,設計是漸進的
第3階段——結構
- 感悟系統結構設計,從功能到結構突破
- 復雜大型系統的結構切割是如何完成的
- 結構切割的思維模式
第5月:
- 使用手機閱讀Linux 3.0內核的包圖
- Linux 3.0文件夾的目錄結構與包圖的關系
- 包圖與組件的關系
- 揭示大型操作系統的結構之謎
第6月:
- 使用手機閱讀Windows 2000源代碼的包圖
- 與Linux 3.0包圖對比閱讀
- 對比商用系統與開源系統的結構設計的異同
- 對比更多操作系統異同
第4階段——經驗
第7月:
- 吸星大法-快速獲取他人的設計經驗
- 獲取經驗的源泉-開源軟件、商用軟件
- 獲取他人設計經驗的秘訣?(自己探尋吧)
以上是老師根據他的親身經歷給出的建議。在我看來7個月要想成為架構師絕對是困難重重的,我們只能說通過7個月的時間打下基礎。正所謂萬事開頭難,有志於成為架構師的朋友們,當然也包括我自己,還是要付出不懈的努力才行!