JAVA程序員必看的15本書JAVA自學(xué)書籍推薦_第1頁
JAVA程序員必看的15本書JAVA自學(xué)書籍推薦_第2頁
JAVA程序員必看的15本書JAVA自學(xué)書籍推薦_第3頁
JAVA程序員必看的15本書JAVA自學(xué)書籍推薦_第4頁
JAVA程序員必看的15本書JAVA自學(xué)書籍推薦_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

JAVA程序員必看的15本書JAVA自學(xué)書籍推薦資料僅供參考JAVA程序員必看的15本書-JAVA自學(xué)書籍推薦作為Java程序員來說,最痛苦的事情莫過于能夠選擇的范圍太廣,能夠讀的書太多,往往容易無所適從。我想就我自己讀過的技術(shù)書籍中挑選出來一些,按照學(xué)習(xí)的先后順序,推薦給大家,特別是那些想不斷提高自己技術(shù)水平的Java程序員們。另外,大家能夠加QQ,互相分享一下關(guān)于JAVA方面的知識。

一、Java編程入門類

對于沒有Java編程經(jīng)驗(yàn)的程序員要入門,隨便讀什么入門書籍都一樣,這個(gè)階段需要你快速的掌握J(rèn)ava基礎(chǔ)語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對Java熟悉起來再說。用很短的時(shí)間快速過一遍Java語法,連懵帶猜多寫寫代碼,要“知其然”。

1、《Java編程思想》

在有了一定的Java編程經(jīng)驗(yàn)之后,你需要“知其因此然”了。這個(gè)時(shí)候《Java編程思想》是一本讓你知其因此然的好書,它對于基本的面向?qū)ο笾R有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,能夠幫你打一個(gè)良好的Java編程基礎(chǔ)。這本書的缺點(diǎn)是實(shí)在太厚,也比較羅嗦,不適合現(xiàn)代人快節(jié)奏學(xué)習(xí),因此看這本書要懂得取舍,不是每章每節(jié)都值得一看的,挑重點(diǎn)的深入看就能夠了。

2、《AgileJava》中文版

這本書是出版社送給我的,我一拿到就束之高閣,放在書柜一頁都沒有翻過,但是前兩天整理書柜的時(shí)候,拿出來一翻,竟然發(fā)現(xiàn)這絕對是一本好書!這本書一大特點(diǎn)是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎(chǔ)知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎(chǔ)講解,要學(xué)習(xí)JDK5.0的新語法也不錯(cuò)。還有這本書對于內(nèi)容取舍也非常得當(dāng),Java語言畢竟類庫龐大,能夠講的內(nèi)容太多,這本書選擇的內(nèi)容以及內(nèi)容的多寡都很得當(dāng),能夠讓你以最少的時(shí)間掌握J(rèn)ava最重要的知識,順便培養(yǎng)出來優(yōu)秀的編程思路,真是一本不可多得的好書。

雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點(diǎn),我自己也準(zhǔn)備有空的時(shí)候翻翻這本書,學(xué)習(xí)學(xué)習(xí)。

二、Java編程進(jìn)階類

打下一個(gè)良好的Java基礎(chǔ),還需要更多的實(shí)踐經(jīng)驗(yàn)積累,我想沒有什么捷徑。有兩本書值得你在編程生涯的這個(gè)階段閱讀,培養(yǎng)良好的編程習(xí)慣,提高你的代碼質(zhì)量。

1、《重構(gòu)改進(jìn)既有代碼的設(shè)計(jì)》

這本書名氣很大,不用多介紹,能夠在閑暇的時(shí)候多翻翻,多和自己的實(shí)踐相互印證。這本書對產(chǎn)生影響是潛移默化的。

2、《測試驅(qū)動開發(fā)byExample》

本書最大特點(diǎn)是很薄,看起來沒有什么負(fù)擔(dān)。能夠找一個(gè)周末的下午,一邊看,一邊照做,一個(gè)下午就把書看完,這本書的所有例子跑完了。這本書的作用是經(jīng)過實(shí)戰(zhàn)讓你培養(yǎng)TDD的思路。

三、Java架構(gòu)師之路

到這個(gè)階段,應(yīng)該已經(jīng)非常嫻熟的運(yùn)用Java編程,而且有了一個(gè)良好的編程思路和習(xí)慣了,可是可能還缺乏對應(yīng)用軟件整體架構(gòu)的把握,現(xiàn)在就是邁向架構(gòu)師的第一步。

1、《ExpertOne-on-OneJ2EEDesignandDevelopment》

這本書是RodJohnson的成名著作,非常經(jīng)典,從這本書中的代碼誕生了springframework??墒欠路疬@本書沒有中譯本。

2、《ExpertOne-on-OneJ2EEDevelopmentwithoutEJB》

這本書由gigix組織翻譯,多位業(yè)界專家參與,雖然署名譯者是JavaEye,其實(shí)JavaEye出力不多,實(shí)在是忝居譯者之名。

以上兩本書都是RodJohnson的經(jīng)典名著,Java架構(gòu)師的必讀書籍。在所推薦的這些書籍當(dāng)中,是看過的最仔細(xì),最認(rèn)真的書,當(dāng)時(shí)讀這本書幾乎是廢寢忘食的一氣讀完的,有小時(shí)候挑燈夜讀金庸武俠小說的勁頭,書中所講內(nèi)容和自己的經(jīng)驗(yàn)知識一一印證,又被無比精辟的總結(jié)出來,讀完這本書以后,有種被打通經(jīng)脈,功力爆增的感覺。

可是后來看過一些其它人的評價(jià),似乎閱讀體驗(yàn)并沒有那么high,可能是因?yàn)槊總€(gè)人的知識積累和經(jīng)驗(yàn)不同導(dǎo)致的。那個(gè)時(shí)候剛好是經(jīng)驗(yàn)知識積累已經(jīng)足夠豐富,可是還沒有系統(tǒng)的整理成型,讓這本書一梳理,馬上形成完整的知識體系了。

3、《企業(yè)應(yīng)用架構(gòu)模式》

Martin的又一本名著,但這本書只是泛泛的看了一遍,并沒有仔細(xì)看。這本書似乎更適合做框架的人去看,例如如果打算自己寫一個(gè)ORM的話,這本書是一定要看的??墒亲鰬?yīng)用的人,不看貌似也無所謂,可是如果有空,還是推薦認(rèn)真看看,會讓知道框架為什么要這樣設(shè)計(jì),這樣的層次能夠晉升到框架設(shè)計(jì)者的角度去思考問題。Martin的書向來都是推崇,可是從來都沒有像RodJohnson的書那樣非常認(rèn)真去看。

4、《敏捷軟件開發(fā)原則、模式與實(shí)踐》

UncleBob的名著,敏捷的經(jīng)典名著,這本書比較特別,與其說是講軟件開發(fā)過程的書,不如說講軟件架構(gòu)的書,本書用了很大篇幅講各種面向?qū)ο筌浖_發(fā)的各種模式,個(gè)人以為看了這本書,就不必看GoF的《設(shè)計(jì)模式》了。

四、軟件開發(fā)過程

了解軟件開發(fā)過程不單純是提高程序員個(gè)人的良好編程習(xí)慣,也是增強(qiáng)團(tuán)隊(duì)協(xié)作的基礎(chǔ)。

1、《UML精粹》

UML其實(shí)和軟件開發(fā)過程沒有什么必然聯(lián)系,卻是軟件團(tuán)隊(duì)協(xié)作溝通,撰寫軟件文檔需要的工具??墒荱ML真正實(shí)用的圖不多,看看這本書已經(jīng)足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。

2、《解析極限編程擁抱變化》XP

這是KentBeck名著的第二版,中英文對照。沒什么好說的,必讀書籍。

3、《統(tǒng)一軟件開發(fā)過程》UP

其實(shí)UP和敏捷并不一定沖突,UP也非常強(qiáng)調(diào)迭代,測試,可是UP強(qiáng)調(diào)的文檔和過程驅(qū)動卻是敏捷所不取的。不論怎么說,UP值得去讀,畢竟在中國真正接受敏捷的企業(yè)很少,還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。

4、《敏捷建模》AM

ScottAmbler的名著,這本書非常的progmatic,告訴怎么既敏捷又UP,把敏捷和UP統(tǒng)一起來了,又提出了很多progmatic的建議和做法。能夠把《解析極限編程擁抱變化》、《統(tǒng)一軟件開發(fā)過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點(diǎn),再看AM是怎么統(tǒng)一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那么也能夠去寫書了。

五、軟件項(xiàng)目管理

如果突然被領(lǐng)導(dǎo)提拔為項(xiàng)目經(jīng)理,而完全沒有項(xiàng)目管理經(jīng)驗(yàn),肯定會心里沒底;如果覺得自己管理項(xiàng)目不善,很想改進(jìn)項(xiàng)目管理能力,那么去考PMP肯定是遠(yuǎn)水不解近渴的。

1、《快速軟件開發(fā)》

這也是一本名著。能夠這樣說,有本書在手,就有了一個(gè)項(xiàng)目管理的高級參謀給你出謀劃策,再也不必?fù)?dān)心自己不能勝任的問題了。這本書不是講管理的理論的,在實(shí)際的項(xiàng)目管理中,講這些理論是不解決問題的,這本書有點(diǎn)類似于“軟件項(xiàng)目點(diǎn)子大全”之類的東西,列舉了種種軟件項(xiàng)目當(dāng)中面臨的各種問題,以及應(yīng)該如何解決問題的點(diǎn)子,只需要稍加變通,找方抓藥就行了。

六、總結(jié)

在這份推薦閱讀書籍的名單中,沒有列舉流行的軟件框架類學(xué)習(xí)書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因?yàn)檫@類書籍容易過時(shí),而上述的大半書籍的生命周期都足夠長,值得去購買和收藏。

【二.Java書籍Top10】

下面是JavaInside上推薦的十本不錯(cuò)的Java書籍。

1)JavaLanguageSpecification,

ThirdEdition

(byJamesGosling)

本書由Java技術(shù)的創(chuàng)造者編寫,是JavaTM編程語言的權(quán)威性技術(shù)指南。如果你想知道語言之構(gòu)造的精確含義,本書是最好的資源。

2)EffectiveJava

,

SecondEdition

(byJoshuaBloch)

本書介紹了在Java編程中78條極具實(shí)用價(jià)值的經(jīng)驗(yàn)規(guī)則,這些經(jīng)驗(yàn)規(guī)則涵蓋了大多數(shù)開發(fā)人員每天所面臨的問題的解決方案。經(jīng)過對Java平臺設(shè)計(jì)專家所使用的技術(shù)的全面描述,揭示了應(yīng)該做什么,不應(yīng)該做什么才能產(chǎn)生清晰、健壯和高效的代碼。.

本書中的每條規(guī)則都以簡短、獨(dú)立的小文章形式出現(xiàn),并經(jīng)過例子代碼加以進(jìn)一步說明。本書內(nèi)容全面,結(jié)構(gòu)清晰,講解詳細(xì)。可作為技術(shù)人員的參考用書。…

3)JavaConcurrencyinPractice

(byBrianGoetz)

隨著多核處理器的普及,使用并發(fā)成為構(gòu)建高性能應(yīng)用程序的關(guān)鍵。Java5以及6在開發(fā)并發(fā)程序取得了顯著的進(jìn)步,提高了Java虛擬機(jī)的性能,提高了并發(fā)類的可伸縮性,并加入了豐富的新并發(fā)構(gòu)建塊。在本書中,這些便利工具的創(chuàng)造者不但解釋了它們究竟如何工作、如何使用,同時(shí),還闡釋了創(chuàng)造它們的原因,及其背后的設(shè)計(jì)模式。本書既能夠成為讀者的理論支持,又能夠作為構(gòu)建可靠的,可伸縮的,可維護(hù)的并發(fā)程序的技術(shù)支持。本書并不但僅提供并發(fā)API的清單及其機(jī)制,本書還提供了設(shè)計(jì)原則,模式和思想模型,使我們能夠更好地構(gòu)建正確的,性能良好的并發(fā)程序。

本書的讀者是那些具有一定Java編程經(jīng)驗(yàn)的程序員、希望了解JavaSE5,6在線程技術(shù)上的改進(jìn)和新特性的程序員,以及Java和并發(fā)編程的愛好者。

4)JavaPuzzles:Traps,PitfallsandCornerCases

(byJoshuaBloch)

Java教父的又一經(jīng)典名著–JavaPuzzlers,Amazon五星圖書。認(rèn)為你到底有多了解Java?你是一個(gè)代碼神探嗎?你是否曾經(jīng)花費(fèi)過數(shù)天時(shí)間去追蹤一個(gè)由Java或其類庫的陷阱和缺陷而導(dǎo)致的bug?你喜歡智力測驗(yàn)嗎?那么這本書正好適合你!

5)ThinkinginJava

(byBruceEckel)

本書贏得了全球程序員的廣泛贊譽(yù),即使是最晦澀的概念,在BruceEckel的文字親和力和小而直接的編程示例面前也會化解于無形。從Java的基礎(chǔ)語法到最高級特性(深入的面向?qū)ο蟾拍?、多線程、自動項(xiàng)目構(gòu)建、單元測試和調(diào)試等),本書都能逐步指導(dǎo)你輕松掌握。

從本書獲得的各項(xiàng)大獎(jiǎng)以及來自世界各地的讀者評論中,不難看出這是一本經(jīng)典之作。本書的作者擁有多年教學(xué)經(jīng)驗(yàn),對C、C++以及Java語言都有獨(dú)到、深入的看法,以通俗易懂及小而直接的示例解釋了一個(gè)個(gè)晦澀抽象的概念。本書共22章,包括操作符、控制執(zhí)行流程、訪問權(quán)限控制、復(fù)用類、多態(tài)、接口、經(jīng)過異常處理錯(cuò)誤、字符串、泛型、數(shù)組、容器深入研究、JavaI/O系統(tǒng)、枚舉類型、并發(fā)以及圖形化用戶界面等內(nèi)容。這些豐富的內(nèi)容,包含了Java語言基礎(chǔ)語法以及高級特性,適合各個(gè)層次的Java程序員閱讀,同時(shí)也是高等院校講授面向?qū)ο蟪绦蛟O(shè)計(jì)語言以及Java語言的絕佳教材和參考書。

6)Better,faster,lighterJava

(byJustinGehtland,BruceA.Tate)

Java的開發(fā)者正深陷于復(fù)雜性的泥沼中而無法自拔。我們的經(jīng)驗(yàn)和能力正接近極限,程序員為了編寫支持所選框架的程序所花的時(shí)間比解決真正問題的時(shí)間要多得多。我們不禁要問,有必要把Java搞得這么復(fù)雜嗎?.

答案是否定的。本書給你指引了一條出路。無論是維護(hù)應(yīng)用程序,還是從頭開始設(shè)計(jì),你都能夠超越成規(guī),并大幅精簡基本框架、開發(fā)過程和最終代碼。你能重新掌握一度失控的J2EE應(yīng)用程序。..

在本書中,原作者BruceA.Tate與JustinGehtland將循序漸進(jìn)、娓娓道來。首先,她們列出了五項(xiàng)基本法則。她們展示了如何構(gòu)建簡單、解耦的代碼,并告訴你如何選擇技術(shù)。她們還對兩種被廣泛運(yùn)用的開源程序如何迎合這些概念進(jìn)行了剖析。最后,作者還將利用這些基本概念構(gòu)建一個(gè)簡單但內(nèi)涵豐富的應(yīng)用程序來解決現(xiàn)實(shí)世界中所遇到的問題。

7)CoreJava(vol.1,2)

(byCayS.Horstmann,GaryCornell)

《Java核心技術(shù)》出版以來一直暢銷不衰,深受讀者青睞,每個(gè)新版本都盡可能快地跟上Java開發(fā)工具箱發(fā)展的步伐,而且每一版都重新改寫了部分內(nèi)容,以便適應(yīng)Java的最新特性。本版也不例外,它反映了JavaSE6的新特性。全書共14章,包括Java基本的程序結(jié)構(gòu)、對象與類、繼承、接口與內(nèi)部類、圖形程序設(shè)計(jì)、事件處理、Swing用戶界面組件、部署應(yīng)用程序和Applet、異常日志斷言和調(diào)試、泛型程序設(shè)計(jì)、集合以及多線程等內(nèi)容。.

全書對Java技術(shù)的闡述精確到位,敘述方式深入淺出,并包含大量示例,從而幫助讀者充分理解Java語言以及Java類庫的相關(guān)特性。

8)TheJavaVirtualMachineSpecification

(byTimLinholm,FrankYellin)

如果你需要了解Java虛擬機(jī)的bytecode,或者是一些編譯方面的東西,這本書絕對讓你得償所愿。其不但包含了機(jī)器碼的規(guī)范說明,同時(shí)它也是Java編譯器和運(yùn)行環(huán)境的規(guī)格說明書。

9)RobustJava:ExceptionHandling,Testing,andDebugging

(byStephenStelting)

處理異常涉及開發(fā)、設(shè)計(jì)和體系結(jié)構(gòu)等方面的知識。本書共分3個(gè)部分。

第Ⅰ部分介紹Java異常的產(chǎn)生機(jī)理和用法,介紹一些最佳實(shí)踐,講述各類異常處理使用的一般API和技術(shù)。

第Ⅱ部分闡述可測試性設(shè)計(jì),介紹故障模式分析,討論常見API的異常及起因,分析J2EE體系結(jié)構(gòu)和分布式API的異常模式。

第Ⅲ部分討論在軟件開發(fā)周期執(zhí)行異常和錯(cuò)誤處理,分析軟件體系結(jié)構(gòu)、設(shè)計(jì)模式、測試和調(diào)試,列舉成熟的設(shè)計(jì)模式,介紹處理策略對系統(tǒng)體系結(jié)構(gòu)的影響,講述如何構(gòu)建健壯系統(tǒng)。

10)JavaCodeConvention

最后一本當(dāng)然是Java編碼規(guī)范,這是由Sun公司官方出品的。這也是每個(gè)程序員為了得供程序的易讀性,可維護(hù)性需要知道的。

【三.Java專業(yè)人士必備的書籍】

每個(gè)程序員都會有一些由于經(jīng)常被當(dāng)作專業(yè)資料參閱而磨壞的書。下列書籍應(yīng)該是Java語言程序員的書架上必備的。書很貴,因此我有意將這份列表弄得很短,僅限于重要書籍。

ThinkinginJava(BruceEckel)

ThinkinginJava,3rdedition

(BruceEckel;PrenticeHallPTR,年)

Java編程思想:第3版

(陳昊鵬等譯;機(jī)械工業(yè)出版社,年)

Eckel的書對于學(xué)習(xí)如何在Java語言環(huán)境中使用好面向?qū)ο蠹夹g(shù)極其實(shí)用。書中大量的代碼樣例解釋了她所介紹的概念。文字出自一個(gè)并不認(rèn)為Java技術(shù)總是正確答案的人,因此相當(dāng)?shù)貙?shí)用。Eckel具有多種語言的大量經(jīng)驗(yàn),還有用面向?qū)ο蠓绞竭M(jìn)行思考的扎實(shí)技能。本書將這些技能放到實(shí)用的Java語言環(huán)境中。她還在寫一本新書,名為

ThinkinginEnterpriseJava。

EffectiveJava(JoshuaBloch)

EffectiveJava:ProgrammingLanguageGuide(JoshuaBloch;Addison-Wesley,年)

EffectiveJava中文版

(潘愛民譯;機(jī)械工業(yè)出版社,年)

本書是理解優(yōu)秀Java程序設(shè)計(jì)原則的最佳書籍。大多數(shù)材料從其它的“學(xué)習(xí)Java”的書中根本找不到。例如,Bloch書中關(guān)于覆蓋equals()這一章是我讀過的最好的參考資料之一。她也在書中包括了很實(shí)用的建議:用接口替代抽象類和靈活使用異常。Bloch是Sun公司Java平臺庫的架構(gòu)師,因此她透徹地了解這門語言。事實(shí)上,她編寫了該語言中大量有用的庫。本書必讀!

TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes)

TheJavaProgrammingLanguage(KenArnold,JamesGosling,DavidHolmes;Addison-Wesley,年)

Java編程語言(第3版)

(虞萬榮等譯,中國電力出版社,年)

這可能是能弄到的最好的Java入門讀物。它并不是一個(gè)標(biāo)準(zhǔn)規(guī)范,而是一本介紹每門語言特性的可讀書籍。這本書在嚴(yán)謹(jǐn)性和教育性方面權(quán)衡得很好,能夠讓懂編程的人迅速被Java語言(和其豐富的類庫)所吸引。

ConcurrentProgramminginJava:DesignPrinciplesandPatterns(DougLea)

ConcurrentProgramminginJava:DesignPrinciplesandPatterns,2ndedition(DougLea;Addison-Wesley,1999年)

Java并發(fā)編程—設(shè)計(jì)原則與模式(第二版)

(趙涌等譯,中國電力出版社,年)

不是每個(gè)開發(fā)人員都需要如此細(xì)致地了解并發(fā)性,也不是每個(gè)工程師都能達(dá)到本書的水準(zhǔn),但卻沒有比本書更好的關(guān)于并發(fā)性編程的概述了。如果您對此感興趣,請從這里開始。Lea是SUNY的一名專業(yè)程序員,她的和并發(fā)性有關(guān)的作品和想法都包含在了JDK5.0規(guī)范(引自JSR166)中,因此您大可放心,她所說的關(guān)于有效使用Java語言的建議是值得一聽的。她是一個(gè)很善于溝通的人。

ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)

ExpertOne-On-OneJ2EEDesignandDevelopment(RodJohnson)

WROX:J2EE設(shè)計(jì)開發(fā)編程指南

(魏海萍譯,電子工業(yè)出版社,年)

對于剛接觸J2EE的人來說,這是唯一的一本如實(shí)反映這項(xiàng)技術(shù)的書。本書收錄了多年的成功經(jīng)驗(yàn)和失敗經(jīng)驗(yàn),不同于其它許多作者,Johnson樂于將失敗的經(jīng)驗(yàn)公諸于眾。J2EE常常都被過度使用。Johnson的書能幫您避免這一點(diǎn)。

Refactoring(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts)

Refactoring:ImprovingtheDesignofExistingCode(MartinFowler,KentBeck,JohnBrant,WilliamOpdyke,DonRoberts;Addison-Wesley,1999年)

重構(gòu):改進(jìn)既有代碼的設(shè)計(jì)(中文版)

(侯捷等譯,中國電力出版社,年)

Fowler寫了幾本現(xiàn)已出版的最流行的編程書,包括

AnalysisPatterns。她的關(guān)于重構(gòu)

的書是這一主題的基本書籍。重構(gòu)代碼是被程序員忽略的訓(xùn)練,但卻是程序員最直觀的想法。重構(gòu)是在不改變代碼結(jié)果的前提下改進(jìn)現(xiàn)有代碼的設(shè)計(jì)。這是保持代碼整潔的最佳方式,用這種方法設(shè)計(jì)的代碼總是很容易修改。什么時(shí)候進(jìn)行重構(gòu)呢?當(dāng)代碼“散發(fā)出味道”時(shí)。Fowler的書里滿是Java語言代碼的例子。許多Java語言集成開發(fā)環(huán)境(IDE)(包括了IBM的Eclipse)都將Fowler的重構(gòu)包含了進(jìn)去,每一個(gè)都使用她的重構(gòu)名命名,因此熟悉如extractmethod

等重構(gòu)方法還是很值得的。

DesignPatterns(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides)

DesignPatterns:ElementsofReusableObjectOrientedSoftware(ErichGamma,RichardHelm,RalphJohnson,JohnVlissides;Addison-Wesley,1997年)

設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)

(李英軍等譯,機(jī)械工業(yè)出版社,年)

這是一本在專業(yè)程序員圈子里更為有名的書,基于作者共同的綽號,這本書被認(rèn)為是“四人幫(GOF)之書”。模式是思考和解決普通編程問題時(shí)能夠重用的方式。學(xué)習(xí)模式是一門學(xué)科。使用好模式(或知道什么時(shí)候不使用模式)是一項(xiàng)技能。忽略模式則是錯(cuò)誤的。書中所有的例子都以C++表示,但Java語言是從那里誕生的,讓Java語言程序員由此聯(lián)系到如何在Java語言中實(shí)現(xiàn)這些模式相對簡單一些。熟悉模式并了解如何使用好模式使編程更加簡單。這使得和其它程序員交流也更簡單,因?yàn)樵卺槍νㄓ脝栴}的通用解決方案中,模式是描述解決方案中彼此協(xié)作的大量相關(guān)編程概念的快捷方式。一些更為通用的方式,如工廠方法

則是普便存在的,甚至存在于Java語言本身。關(guān)于明智使用模式的這個(gè)主題,也能夠閱讀JoshuaKerievsky的

RefactoringtoPatterns,該書稱能夠讓代碼來告訴您何時(shí)實(shí)現(xiàn)模式。

PatternsofEnterpriseApplicationArchitecture(MartinFowler)

PatternsofEnterpriseApplicationArchitecture(MartinFowler;Addison-Wesley,年)

企業(yè)應(yīng)用架構(gòu)模式

(王懷民等譯,機(jī)械工業(yè)出版社,年)

比起小型、一次性項(xiàng)目來說,企業(yè)開發(fā)當(dāng)然代表了更大的挑戰(zhàn)。那并不意味著企業(yè)開發(fā)帶來的所有挑戰(zhàn)都是新挑戰(zhàn)。事實(shí)上有些時(shí)候,這項(xiàng)開發(fā)已經(jīng)

是以前完成過的了。Fowler做了很多個(gè)這樣的項(xiàng)目。她的書提到了一些通用解決方案,并提供了關(guān)于使用、折中和可選方案的指導(dǎo)。Fowler在書中包含了一些熟悉的模式,如模型視圖控制器(MVC),她也提供了一些您可能不了解的模式,如處理Web站點(diǎn)上特定頁面請求或行為請求的PageController模式。正如您對待大多數(shù)模式一樣,一旦您讀過許多模式,您就會認(rèn)為“我已經(jīng)知道那個(gè)模式了”??赡苁沁@樣,但有一個(gè)用來引用模式的通用表示方式還是很有幫助的。在有多個(gè)組件(由不同人開發(fā))的大型項(xiàng)目中,該類引用是一項(xiàng)很好的幫助。

UMLDistilled(MartinFowler)

UMLDistilled:ABriefGuidetotheStandardObjectModelingLanguage(MartinFowler;Addison-Wesley年)

UML精粹:標(biāo)準(zhǔn)對象語言簡明指南(第3版)

(徐家福譯,清華大學(xué)出版社,年)

對于專業(yè)的程序員來說,UML是一門很重要的通用可視化溝通語言,可是它被過度使用和草率地濫用了。您無需對使用UML溝通了解太多。Martin對UML的提煉為您提供了最核心的東西。事實(shí)上,前后的封頁提供了常規(guī)基礎(chǔ)上可能使用到的所有東西。該書中UML例子的代碼都是Java代碼。

Test-DrivenDevelopment:ByExample(KentBeck)

Test-DrivenDevelopment:ByExample(KentBeck;Addison-Wesley年)

測試驅(qū)動開發(fā)(中文版)

(崔凱譯,中國電力出版社,年)

測試優(yōu)先編程將使編程發(fā)生革命性變化,能助您成為更好的程序員。在寫代碼之前編寫測試開始很難,但卻是一項(xiàng)威力強(qiáng)大的技能。經(jīng)過優(yōu)先編寫測試,可使代碼更加簡單,并確保從一開始它就能工作(Beck實(shí)踐著她提倡的測試優(yōu)先,與人合寫了JUnit,這是Java語言最流行的測試框架)。Beck的書是權(quán)威的參考資料,擴(kuò)展了的Money例子也用Java語言寫成。Beck詳述了如何用測試優(yōu)先進(jìn)行

思考(這可能是許多程序員首先遇到的障礙)。

ThePragmaticProgrammer:FromJourneymantoMaster(AndyHuntandDaveThomas)

ThePragmaticProgrammer:FromJourneymantoMaster(AndrewHunt和DavidThomas;Addison-Wesley1999年)

程序員修煉之道——從小工到專家

(馬維達(dá)譯,電子工業(yè)出版社,年)

做一個(gè)純粹的面向?qū)ο箝_發(fā)人員有其優(yōu)勢所在。在當(dāng)今復(fù)雜的社會中,作為Java語言開發(fā)人員,為完成任務(wù)常要妥協(xié)。Hunt和Thomas探討了如何不將真正重要的東西妥協(xié)掉而完成任務(wù)。這不是一本關(guān)于Java語言的書,而是Java語言開發(fā)人員重要的思想讀物。例如,我認(rèn)為沒從“要解決問題,而不是推卸責(zé)任”這句忠言中受益的程序員,不能像個(gè)自豪的藝術(shù)家一樣在她的杰作上簽上大名。

Peopleware:ProductiveProjectsandTeams(TomDeMarcoandTimothyLister)

Peopleware:ProductiveProjectsandTeams(TomDeMarco,TimothyLister;DorsetHouse,1999年)

人件(第2版)

(UMLChina翻譯組譯,清華大學(xué)出版社,年)

這份列表中的其它所有書籍都至少和技術(shù)有些相關(guān)。這本書卻不是。在所有技術(shù)行話和首字母縮略詞的海洋中,有時(shí)軟件開發(fā)人員和經(jīng)理們會忘記:是人

制造了軟件。DeMarco和Lister向我們提醒了這一事實(shí),也向我們提醒了形成這一區(qū)別的原因。這不是一本關(guān)于一門特定編程語言的書籍,但卻是每個(gè)Java語言程序員都應(yīng)該讀的書。關(guān)于“累死程序員如何讓經(jīng)理們適得其反”還有許多其它的好書,但這是最好的一本。

【四.推薦給初級Java程序員的3本進(jìn)階書】

原作者在這篇文章中介紹3本不錯(cuò)的技術(shù)書籍。作者認(rèn)為這些書籍對新手或者學(xué)生而言特別有幫助。經(jīng)過一些基礎(chǔ)性的教程入門后,我們能夠使用Java做基礎(chǔ)性的編程。然而,當(dāng)我們需要從初級提升更高的一個(gè)層次時(shí),大多數(shù)的人卻不知道從何入手。一些好的書籍在這個(gè)階段能夠很好地幫助初級開發(fā)人員。

《HeadFirst設(shè)計(jì)模式》

這本書介紹GoF

常見設(shè)計(jì)模式的方式引人入勝。如果只看封面很難看出來這是一本技術(shù)書籍,更不用說這本技術(shù)書籍介紹的還是面向?qū)ο缶幊痰囊恍┖苡杏玫募记?。這本書采用KathySierra

式編寫風(fēng)格:雖然她的博客已經(jīng)關(guān)了,可是還是能從前面這個(gè)鏈接看到一些她的文章,建議讀一讀。如果你周圍有人認(rèn)為設(shè)計(jì)模式?jīng)]有什么用處,這本書倒是能夠讓她們改變看法。個(gè)人而言,我認(rèn)為經(jīng)典的GoF手冊是一個(gè)很好的參考,但它并不是專為新手準(zhǔn)備的。因此強(qiáng)烈推薦在校生(包括那些不清楚組合模式是什么的程序員們)閱讀此書。

書中介紹的設(shè)計(jì)模式是程序開發(fā)中比較基本的編程模式,也是面向?qū)ο缶幊痰某绦騿T應(yīng)該了解和掌握的。接下來要介紹的這本書則更偏向于Java語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論