前言:雖然筆者一直夢想成爲一名架構師,但實踐的還是少之又少。這篇文章是筆者在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月:spa
- 使用手機閱讀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個月的時間打下基礎。正所謂萬事開頭難,有志於成爲架構師的朋友們,固然也包括我本身,仍是要付出不懈的努力才行!開源軟件