1.《Software Architect Bootcamp--軟件架構(gòu)師教程》 可惜第2版國內(nèi)還沒有翻譯,新部分只好看電子版了。 2. 《The Art of Software Architecture: Design Methods and Techniques--軟件體系結(jié)構(gòu)的藝術(shù)》 3. 《Large-Scale Software Architecture-A Practical Guide using UML--大型軟件體系結(jié)構(gòu):使用UML實踐指南》
1. 《Head First Design Patterns》 最容易的GOF23經(jīng)典設(shè)計模式闡釋。 2. 《Patterns of Enterprise Application Architecture--企業(yè)應用架構(gòu)模式》 Martin Fowler經(jīng)典。 3. 《Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions--企業(yè)集成模式:設(shè)計、構(gòu)建及部署消息傳遞解決方案》 企業(yè)應用通信集成,SOA/ESB方面的架構(gòu)師必讀。 4. 《Effective Enterprise Java--中文版》 《Expert One-on-One J2EE Design and Development--J2EE設(shè)計開發(fā)編程指南》 Neward, Ted作品,所有Java架構(gòu)師必讀。 Rod Johnson作品,依然使用J2EE的倒霉架構(gòu)師必讀。 5.《Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Volume 2--面向模式的軟件體系結(jié)構(gòu)卷2:用于并發(fā)和網(wǎng)絡(luò)化對象的模式》 《Pattern-Oriented Software Architecture: Patterns for Resource Management, Volume 3 --面向模式的軟件體系結(jié)構(gòu)卷3:資源管理模式》 POSA2,網(wǎng)絡(luò)編程尤其是用ACE的架構(gòu)師必讀。 POSA3,網(wǎng)絡(luò)與后臺編程的架構(gòu)師必讀。
1. 最適合架構(gòu)師的過程依然是RUP,而RUP最好的書是那份《RUP-軟件開發(fā)團隊的最佳實踐.pdf》加上 RUP2003.6.15自帶的完整文檔。 2. UML是架構(gòu)師的通用語言,隨便看一份電子書也能入門了,語法方面不需要專門買書。 但教人如何畫好UML的《The Elements of UML Style--UML風格》就很必要,可惜國內(nèi)沒有翻譯第2版。
1.《Code Complete 2--代碼大全2》 一本你教育小弟時的代言人。 2.《The Pragmatic Programmer--程序員修煉之道:從小工到專家》 一本你啟發(fā)小弟的代言人。 3.《The Art of Unix Programming --UNIX編程藝術(shù)》
1、《Java編程思想》 在有了一定的Java編程經(jīng)驗之后,你需要“知其所以然”了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對于基本的面向?qū)ο笾R有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎(chǔ)。這本書的缺點是實在太厚,也比較羅嗦,不適合現(xiàn)代人快節(jié)奏學習,因此看這本書要懂得取舍,不是每章每節(jié)都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版 這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎(chǔ)知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎(chǔ)講解,要學習JDK5.0的新語法也不錯。還有這本書對于內(nèi)容取舍也非常得當,Java語言畢竟類庫龐大,可以講的內(nèi)容太多,這本書選擇的內(nèi)容以及內(nèi)容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養(yǎng)出來優(yōu)秀的編程思路,真是一本不可多得的好書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也準備有空的時候翻翻這本書,學習學習。
二、Java編程進階類
打下一個良好的Java基礎(chǔ),還需要更多的實踐經(jīng)驗積累,我想沒有什么捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養(yǎng)良好的編程習慣,提高你的代碼質(zhì)量。
1、《重構(gòu) 改善既有代碼的設(shè)計》 這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對你產(chǎn)生影響是潛移默化的。
2、《測試驅(qū)動開發(fā) by Example》 本書最大特點是很薄,看起來沒有什么負擔。你可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰(zhàn)讓你培養(yǎng)TDD的思路。
三、Java架構(gòu)師之路
到這個階段,你應該已經(jīng)非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是你可能還缺乏對應用軟件整體架構(gòu)的把握,現(xiàn)在就是你邁向架構(gòu)師的第一步。
1、《Expert One-on-One J2EE Design and Development》 這本書是Rod Johnson的成名著作,非常經(jīng)典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》 這本書由gigix組織翻譯,多位業(yè)界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經(jīng)典名著,Java架構(gòu)師的必讀書籍。在我所推薦的這些書籍當中,是我看過的最仔細,最認真的書,我當時讀這本書幾乎是廢寢忘食的一氣讀完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內(nèi)容和自己的經(jīng)驗知識一一印證,又被無比精辟的總結(jié)出來,讀完這本書以后,我有種被打通經(jīng)脈,功力爆增的感覺。
但是后來我看過一些其他人的評價,似乎閱讀體驗并沒有我那么high,也許是因為每個人的知識積累和經(jīng)驗不同導致的。我那個時候剛好是經(jīng)驗知識積累已經(jīng)足夠豐富,但是還沒有系統(tǒng)的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業(yè)應用架構(gòu)模式》 Martin的又一本名著,但這本書我只是泛泛的看了一遍,并沒有仔細看。這本書似乎更適合做框架的人去看,例如如果你打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,我還是推薦認真看看,會讓你知道框架為什么要這樣設(shè)計,這樣你的層次可以晉升到框架設(shè)計者的角度去思考問題。Martin的書我向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟件開發(fā) 原則、模式與實踐》 Uncle Bob的名著,敏捷的經(jīng)典名著,這本書比較特別,與其說是講軟件開發(fā)過程的書,不如說講軟件架構(gòu)的書,本書用了很大篇幅講各種面向?qū)ο筌浖_發(fā)的各種模式,個人以為看了這本書,就不必看GoF的《設(shè)計模式》了。
四、軟件開發(fā)過程
了解軟件開發(fā)過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協(xié)作的基礎(chǔ)。
1、《UML精粹》 UML其實和軟件開發(fā)過程沒有什么必然聯(lián)系,卻是軟件團隊協(xié)作溝通,撰寫軟件文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經(jīng)足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP 這是Kent Beck名著的第二版,中英文對照。沒什么好說的,必讀書籍。
3、《統(tǒng)一軟件開發(fā)過程》UP 其實UP和敏捷并不一定沖突,UP也非常強調(diào)迭代,測試,但是UP強調(diào)的文檔和過程驅(qū)動卻是敏捷所不取的。不管怎么說,UP值得你去讀,畢竟在中國真正接受敏捷的企業(yè)很少,你還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM Scott Ambler的名著,這本書非常的progmatic,告訴你怎么既敏捷又UP,把敏捷和UP統(tǒng)一起來了,又提出了很多progmatic的建議和做法。你可以把《解析極限編程擁抱變化》、《統(tǒng)一軟件開發(fā)過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎么統(tǒng)一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那么你也可以去寫書了。
五、軟件項目管理
如果你突然被領(lǐng)導提拔為項目經(jīng)理,而你完全沒有項目管理經(jīng)驗,你肯定會心里沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那么去考PMP肯定是遠水不解近渴的。
1、《快速軟件開發(fā)》 這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似于“軟件項目點子大全”之類的東西,列舉了種種軟件項目當中面臨的各種問題,以及應該如何解決問題的點子,你只需要稍加變通,找方抓藥就行了。
Powered by: BlogJava Copyright © 天涯【鈍】刀客