程式員書庫(ID:OpenSourceTop) 編譯
連結:https://javarevisited.blogspot.jp/2013/06/5-must-read-books-to-learn-object.html
對於任何一個Java開發人員來說,必須學會面向物件的設計原則和各種設計樣式的知識。但有一些關於面向物件設計原則、設計樣式和最佳實踐的書籍,只有少數幾本書能做到真正在講解這方面內容。
設計原則和設計樣式,設計原則是基礎,設計樣式是基於這個基礎的最佳實踐。首先應該學習面向物件的理論原則,然後學習設計樣式,看看再來學習這些原則是如何被用來解決日常問題的。
我收集了5本書的清單,用於學習Java中面向物件的程式設計基礎知識和設計樣式。 這些書籍由淺入深。J2EE設計樣式與核心Java設計樣式稍有不同,但對於Java開發人員同樣重要,核心的J2EE樣式書籍不錯的選擇。
1. 《深入淺出設計樣式》
這是我讀的第一本 Head First 系列的第一本書,在此之前,我不知道什麼時候使用抽象類或介面,或者為什麼組合比繼承更好。在軟體開發的最初幾年,我通常會對每個特性和需求來進行編碼,在完成更多的更改、更多的測試之後發現引入更多的bug。
後來由於我的閱讀興趣,我發現了《深入淺出設計樣式》,在讀完第一章後,我非常激動。可以說這本書的內容是非常基本的,但是隻有掌握了基礎知識才能更快學習更先進的東西。對於任何Java開發人員,包括有經驗的和資深的開發人員,都必須閱讀關於面向物件設計樣式的書籍。我甚至建議可以從這本書開始學習設計樣式。它不僅清晰地解釋了概念,還提供了大量的圖表、練習、測驗和實際案例,讓你思考和學習。
我是head first系列書籍的超級粉絲,無論是Head First Java還是Head First Design Pattern都非常不錯。Head First Design Pattern中有很多很棒的例子,任何想要瞭解繼承,封裝,多型,抽象等面向物件基礎知識的人都應該讀讀這本書。其中裝飾樣式(Decorator design pattern)和觀察者樣式(Observer design pattern)的內容都講述的很棒。
2. 《設計樣式》
本書是四人幫經典的(GOF)設計樣式書,迄今為止編寫和釋出的許多面向物件設計樣式書籍都是借鑒這本書。任何必須閱讀的Java設計樣式書籍清單中沒有出現這本書,都是不完整的。近20年來,本書仍然貼合當下的面向物件和Java樣式設計。
本書透過一個設計檔案編輯器的例子,來解釋各種設計樣式,例如Creational patterns, Structural and Behavioral patterns。恕我直言,個人認為這是設計樣式中最好的書籍之一,也是任何Java開發人員必讀的書籍之一,你可以從亞馬遜購買這本書,它分為精裝版本,平裝版和多媒體CD版。
3. 《Design Patterns Explained: A New Perspective on Object-Oriented Design 》
與多執行緒和併發一樣,設計樣式也不易理解。最困難的部分是足夠理解之後把它用到現實生活的例子中去,這就是為什麼有時最好使用多本書來學習Java設計樣式的原因。因為不同的作者的寫作風格和描述手法各有不同。有些程式員發現某個作者的書比其他人更好理解,而Joshua Bloch是唯一的例外,他的書適合大多數Java開發人員。
設計樣式:是學習面向物件設計樣式的一本書。雖然它也解釋了OOPS原則,UML和設計樣式,如裝飾者樣式,工廠樣式或觀察者設計樣式,但它的解釋方式對於許多初學者來說可能更容易理解。這本的例子也很好。
4. 《Software Architecture Design Patterns in Java》
這是關於面向物件和Java設計樣式的另一本好書,它不僅涵蓋了基本的面向物件原則,如類,物件,繼承,多型,抽象和封裝,還涵蓋了很實用但不明顯的細節,例如私有方法,getter和setter,不可變物件,介面和監視器。本書還介紹了大量設計樣式,例如建立樣式,集合樣式,結構樣式,行為樣式和併發樣式,它涵蓋了工廠設計樣式和單例樣式,閱讀起來非常有趣。
它書中的案例和UML圖表也是我推薦它的一大原因,它不僅有助於讀者更深入的理解知識點,而且還能確保讀者看完能夠學以致用,這對學習任何設計樣式來說都是最重要的。最後,他們還有一個針對虛擬主機公司設計軟體解決方案的案例研究,它可以讓您真實地在現實世界中識別和應用設計樣式。簡單來說,Java中的軟體體系結構設計樣式幾乎涵蓋了關於Java設計樣式的所有知識。
最後,他們有一個為web託管公司設計軟體解決方案的案例,讓讀者在實際案例中應用設計樣式。簡而言之,這本書幾乎包含了所有你需要瞭解的關於Java設計樣式的知識。
5.《J2EE核心樣式》
J2EE平臺是使用Java程式語言最流行的開發方式,由於它專註於Web和企業解決方案,因此它有一系列自己的需求原則。核心J2EE樣式解釋了J2EE世界中最有用的一些設計樣式,例如攔截過濾器,前端控制器,MVC樣式,資料訪問物件或DAO樣式,檢視協助器樣式(View Helper Pattern)或檢視解析器(View Resolver)樣式,Service Locator樣式等。
本書根據設計樣式的功能劃分,例如表示層的設計樣式,業務層的設計樣式等。這是任何Java J2EE開發人員的必讀書籍。儘管像Spring這樣的現代框架可以確保你在框架級別遵循這些J2EE設計樣式,例如Spring MVC確保了MVC的使用,它也同時使用了前端控制器(DipatcherServlet)和檢視解析器(ViewResolver)。Spring框架,也讓你在容器級別使用了依賴註入和IOC。話雖如此,無論你使用Spring MVC,Struts還是任何其他Web框架,對這些J2EE樣式的瞭解都會幫助你瞭解程式碼以及建立更容易維護的解決方案。
6.《Real World Java EE Patterns》
這本書是我們的讀者推薦的。他說:“你學習Java EE樣式你更應該閱讀的書是Adam Bien的《Real World Java EE Patterns》,他會向你解釋為什麼你不應該再編寫自己的DAO層。“ 我讀了幾個章節之後,覺得這位讀者說的對,這是關於Java EE樣式內容的最新書籍,也是Java EE開發人員必讀的書籍之一。
除了這5本書之外,你還可以看看Joshua Bloch的《Effective Java 2nd Edition》以及《Head first object oriented analysis and design》。Effective Java是任何Java程式員都必須閱讀的,因為它解釋了許多Java庫本身的實用原理。
●輸入m獲取到文章目錄