Java行業(yè)的圣經(jīng)-四本最重要的個人藏書(轉(zhuǎn))

Java行業(yè)的圣經(jīng)-四本最重要的個人藏書 (轉(zhuǎn))[@more@]

Java行業(yè)的圣經(jīng) 四本最重要的個人藏書,他們的書名都不含Java

作者 Thomas E. Davis
譯者 Mailto:msklsf@263.NET">msklsf@263.net

摘要

Thomas Davis 推薦了四本書,它們可以讓你在java開發(fā)中受益非淺。這些書擴(kuò)展了Java的基本語法和語義,使你能更全面地理解面向?qū)ο蟮某绦蛟O(shè)計。

正文

《Design patterns》

《Refactoring: Improving the Design of Existing Code》

《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》

《Extreme Programming Explained: Embrace Change》

在這篇文章中,我提出了新手和專家在使用Java進(jìn)行開發(fā)的區(qū)別,而且也給出了一個參考書目,幫助新手超越這個界限。這不是一個書目回顧,而是你通往職業(yè)發(fā)展中下一步的車票。

Java是一個程序設(shè)計語言。它也是一個工具,如果錯誤地使用,它就是無用的,某些時候甚至是危險的。僅僅知道它的語法和語義不是一個程序員要做的。一個程序員也必須密切地關(guān)注和理解環(huán)境模式,也就是說在Java環(huán)境中,什么是面向?qū)ο笤O(shè)計。知道對象是什么、接口是什么、多少對象實(shí)現(xiàn)了一個接口等等無聊的東西是遠(yuǎn)遠(yuǎn)不夠的。一個程序員必須知道這種使那些規(guī)則和關(guān)系融合成一個靈活的、可重用的、可擴(kuò)展的系統(tǒng)的神秘方法。我在這里討論的這些書將給你那些經(jīng)驗(yàn),提高你作為一名Java程序員的職業(yè)素質(zhì)。令人奇怪的是,沒有一本書在他們的書名中包括Java一詞。

注:本文所討論的所有書目的URL地址可以在本文后面的資源中找到。

《Design patterns》

這本書的作者是Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 和Grady Boocha——the Gang of Four是他們著名的呢稱,由 Addison-Wesley出版社在1995年出版。模式一詞描述了一類重復(fù)的問題而且提供了一個可重用的解決方案。設(shè)計模式至少可以通過對象共享來幫助你避免內(nèi)存限制的缺陷以簡化你的工作,設(shè)計模式也可以創(chuàng)造一個類似于接口的、可以靈活地同第三方庫進(jìn)行綜合的集成方式來簡化你的工作?!禗esign patterns》仔細(xì)描述了這兩種設(shè)計模式,給出了評價,而且提供了代碼例子和易于理解的相關(guān)圖表。雖然代碼例子都是C++的,但是語法十分類似于Java,因此大多數(shù)程序員將毫無問題地掌握這些概念。有一本本書的仿制品,它采用Java作為例子,書名是《Java Design Patterns: A Tutorial》,作者是James William Cooper,由Addison-Wesley出版社在 2000年出版;但是沒有the Gang of Four在《Design patterns》中所闡述的透徹和深度。

一旦你熟悉了《Design Patterns》中所列出的設(shè)計模式,將認(rèn)識到他們中的一些是如何發(fā)展的。在Addison-Wesley出版社1998年出版的《Design Patterns Applied(Software Patterns Series)》中,John Vlissides 敘述了在某些最流行模式上的爭論和討論,而且介紹了一些新的在《Design Patterns》中刪去的模式。

《Refactoring: Improving the Design of Existing Code》

會犯錯誤就是人。如果這是真理的話,我看到了數(shù)以百計比我更象人的程序。項(xiàng)目出問題了。錯誤出現(xiàn)了。進(jìn)度延期了,質(zhì)量犧牲了。這些都是對我們所從事的職業(yè)的警告。但是當(dāng)事情逐漸變得最糟時,你需要在什么地方改變方向呢?我的非常多的同事采用"throw-away-and-start-over"的方法:從零開始,希望自己已經(jīng)可以避免錯誤了。那是最極端的解決辦法,它一定激怒了你的老板。但是不要絕望,因?yàn)橛刑娲霓k法。

《Refactoring: Improving the Design of Existing Code》是Addison-Wesley出版社面向?qū)ο蠹夹g(shù)系列叢書中的一本,作者是Martin Fowler, Kent Beck, John Brant, William Opdyke, 和Don Roberts ,出版日期是1999年,這本書給開發(fā)者提供了重新開始的不同選擇。Refactoring就是通過重構(gòu)一個程序的內(nèi)部結(jié)構(gòu)但是不改變它的外部行為來提高它的性能的處理過程。Refactoring能讓一個方法執(zhí)行得更快或者提供更精確的執(zhí)行結(jié)果,但是不改變這個方法的名字。這些改變對調(diào)用該方法的程序而言是不可見的,因此沒有代碼需要修改。

這本書教讀者如何通過一個特殊的意識來識別問題代碼,而且將每一個放到一個程序目錄中以便修改。例如,一個意識或許是一個不適當(dāng)?shù)挠H密關(guān)系——描述了兩個或更多個類的關(guān)系太緊密了以致對一個類的改變要求另一個類也要改變。這本書所建議的眾多的解決方法的一個是將這個存在問題的方法移到一個更適當(dāng)?shù)念愔小?/P>

《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》

軟件開發(fā)不是易于出錯和疏忽的唯一地方。管理同樣易于出現(xiàn)缺陷,這是由于混亂的開發(fā)過程和不現(xiàn)實(shí)的開發(fā)進(jìn)度。大多數(shù)因特網(wǎng)公司在他們的開發(fā)部門有一個令人擔(dān)憂的人員流動速度。隨著程序員的加入和退出,職責(zé)的層次結(jié)構(gòu)就想代碼結(jié)構(gòu)一樣變得令人費(fèi)解。《AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis》的作者是William J. Brown, Raphael C. Malveau, William H. Brown, Hays W. McCoRmick III, 和 Thomas J. Mowbray ,由John Wiley & Sons出版社 在1998年出版,這本書將把上述加入到你整個的事業(yè)目標(biāo)中。它對計劃、錯誤管理、基本方法中的常見錯誤進(jìn)行分類,使你跳出深淵。

你的方案是否正遭受委員會的挑剔?就象有非常多的廚師在調(diào)一鍋湯一樣?;蛘吣愕拇a基礎(chǔ)是違反模式的賣方代碼,導(dǎo)致你依賴一個不可靠的第三方產(chǎn)品?!禔ntiPatterns》將這些問題分為12大類和大約24個小類,指導(dǎo)你避免這些問題或者跳離你偶然進(jìn)去的陷阱。

《Extreme Programming Explained: Embrace Change》

XP是一種新鮮的、有些爭議的新的開發(fā)過程,Kent Beck是它的先行者。XP力爭按時提供好的軟件,沒有官僚作風(fēng),不重視傳統(tǒng)的開發(fā)周期。在因特網(wǎng)啟動的發(fā)燒期,每個人的目光都聚焦在趕上市場。在現(xiàn)實(shí)世界中,項(xiàng)目超過了預(yù)算或者過了最后期限,就會被取消,這最終導(dǎo)致某些公司徹底失敗。項(xiàng)目開始的文檔和圖表很少能夠反映最終的產(chǎn)品。因此,開發(fā)團(tuán)隊(duì)需要適應(yīng)項(xiàng)目需求的頻繁變化并作出反映。那正是XP要發(fā)光的地方。

“溝通、簡潔、反饋、勇氣”是XP愛好者的秘訣。溝通有很多種途徑,例如在成雙成對的程序設(shè)計中完成。也就是一個人編碼,伙伴們進(jìn)行對等的實(shí)時檢查。

簡潔意味著當(dāng)你需要它的時候就僅僅建造那些你需要的。不浪費(fèi)時間執(zhí)行那些解決將來或許會發(fā)生的問題的奢侈方案。

反饋意味著“早發(fā)布,常發(fā)布”,這些為那些開放源代碼的狂熱者所喜愛。通過在開發(fā)的早期將產(chǎn)品呈現(xiàn)在用戶的面前,你能盡量避免出現(xiàn)在開發(fā)周期后期的劇烈變動要求。

最后,勇氣促使XP弟子抓住機(jī)會并從結(jié)果中吸取經(jīng)驗(yàn)。只有在極少見的場合,你才必須求助于"throw-away-and-start-over"技術(shù)。《Extreme Programming Explained: Embrace Change》中描述了那些秘訣和它們是如何幫助你的。這本書的作者是Kent Beck,由Addison-Wesley出版社在1999年出版。

結(jié)論

最近我有機(jī)會從零開始一個公司項(xiàng)目。我的開發(fā)隊(duì)伍靠這些書的教導(dǎo)生活和呼吸,成果是顯著的。我們按照進(jìn)度、沒有延期建造了一個特別健壯和可擴(kuò)展的系統(tǒng)。這些書改善了我的職業(yè)生涯,我相信他們也將改善你的職業(yè)生涯。

關(guān)于作者
    Thomas E. Davis是一個具有SUN認(rèn)證資質(zhì)的Java軟件工程師,也是他的第二個成功的Internet計劃的首席技術(shù)官。目前Thomas居住在陽關(guān)充足的南佛羅里達(dá),遺憾的是大部分時間他都呆在室內(nèi)的一臺計算機(jī)前面


本文題目:Java行業(yè)的圣經(jīng)-四本最重要的個人藏書(轉(zhuǎn))
瀏覽地址:http://bm7419.com/article40/jjegho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、App設(shè)計、網(wǎng)站策劃、定制網(wǎng)站、用戶體驗(yàn)網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化