在對《Head First》系列至少有一點了解的人中,有許多人認為這類文獻對於初學者來說是相當膚淺的閱讀。我能說的是,你不太可能在 48 小時內深入研究程式設計領域的複雜主題。然而,很難說《設計模式》是一本對初學者有用的程式指南。這本書是 Stackoverflow 上最受歡迎的十本書之一,這是有充分理由的。簡單的演示、基本的主題和高品質的範例使得這本書現在很受歡迎,而且在我看來,在未來的許多年裡也會如此。
本書特色
Head First 設計模式告訴我們什麼是模式、如何使用它們以及如何思考它們。模式是一個模板,是一組特定問題的通用解決方案。 反過來,設計模式是常用的架構解決方案,可用於編寫使用者友好且靈活的應用程式。世界各地的開發人員都用相同的方法解決相同的問題。正如註釋所說,如果您不想重新發明輪子,請使用現成的設計模板(模式),這本書致力於使用這些模板。另外,值得注意的是材料的呈現:Head First 系列的書籍以其簡單性而聞名,並且可以一口氣讀完。《設計模式》也不例外。它也遵循以下關鍵原則:- 能見度
- 對話式的演講風格
- 大量插圖
- 讀者積極參與
- 訴諸情感
- 吸引讀者的注意力
主題和核心思想
「肯定有人已經解決了你的問題」 ——這就是本書第一章的開頭,傳達了程式設計中設計模式的全部意義。主要目標是向讀者正確傳達它們的含義,因為首先,程式設計師必須知道模式的用途以及需要在什麼時候應用它們。本質上,您首先需要在頭腦中將模板分類為小塊,然後才將它們實施到程式中。如果程式設計初學者對模式有很好的理解,那麼它們的使用可能會使程式碼變得非常複雜(但應該會簡化它!)。對於「為什麼要使用設計模式?」這個問題 書中給了明確的答案:「了解抽象、繼承和多態性等概念並不能讓你成為優秀的 OO 設計師。這些模式包含經過驗證的 OO 設計經驗。”“概括”
本書分為14章加緒論。一開始,本書的作者試圖讓讀者做好準備,調整他的大腦以正確感知圖案設計的訊息。第一章解釋了模式的基本原理以及它們的用途。最常用的模式之一——策略——可以輕鬆、不引人注目地進行檢查。第二章到第十一章專門對各個模式進行詳細分析:- 觀察者。將事件分發到對其發生感興趣的物件之間。
- 裝飾師。另一個視角是 Java 中的繼承,以及在不修改程式碼的情況下賦予 Java 類別新功能。
- 工廠。此模式使程式碼免於不必要的依賴。
- 單身的。也稱為 Singleton,它允許您為整個程式建立單一類別物件。
- 團隊。此模式允許您方便地封裝方法調用,擴展其功能。
- 適配器和外觀。解決介面不相容的問題,以及封裝物件以簡化其介面。
- 模板法。演算法區塊的封裝,允許子類別隨時關聯所需的處理演算法。
- 迭代器和連結器。該模式提供了一個方便的工具來迭代集合,無論其類型為何。此外,本章也提供了一些有關超級集合的資訊。
- 狀態。物件被賦予了透過改變其內部狀態來控制其行為的能力。
- 副。用於控制對物件的存取的非常方便的模式。
的優點和缺點
我和許多在 JavaRush 學習的人一樣,對枯燥的講座、死記硬背的材料以及其他對學生求知心理的暴力行為持冷漠的態度。在我看來,花在記憶難以理解的文本上的精力最好花在尋找替代的學習來源。這本書是一本值得你花時間和精力的書。出色的演示風格、對讀者註意力的有效管理以及要點的重複構成了本書的主要優勢——易於吸收材料。大量插圖是一個額外的優點。在我看來,書中的每張圖片都有它的作用:它們都可以讓你強化作者的話,更深入地理解材料的本質。正如我上面所寫,這本書不是一本參考書:它的作者並不打算列出所有模式。它的主要任務是提供理解並討論基本模式,以便其他更複雜的模式更容易理解。她百分百應付這個問題。缺點之一是俄語的 Head First 設計模式不像英語那麼容易閱讀。當然,每個開發人員都應該會說英語,但是新手程式設計師並不總是將這種技能發展到可以閱讀原始書籍的程度。然而,這可以被認為是強制減分,因為材料的呈現非常準確並且含義得到了保留。有關設計模式的其他書籍
我支持這樣一種信念,即最好從多個來源研究基本主題並從中尋找合適的演示風格。當你想深入研究模式並閱讀更多理論時,相信我,你晚上會有事可做。-
物件導向的設計技術。設計模式(Gamma E.、Helm R.、Johnson R.、Vlissides J.)。
這是一本比較嚴肅的出版物,一本模式參考書,一本來自「四人幫」的非常受人尊敬的書。許多人稱之為物件導向設計的聖經。
在網路上,開發者的意見分為3個陣營:
- 有些人認為這本書已經過時,而且其呈現風格讓人無法閱讀
- 其他人則建議僅將本書用作模式參考書,僅此而已
- 還有一些人說這本書是設計模式的聖杯,任何想要有一天成為高級 Java 開發人員的人都應該閱讀這本書
重要的:書中的例子是用C++寫的。
-
Java EE。專業人士的設計模式(Murat Yener、Alex Fidom)。
本書致力於企業應用程式的設計:它涵蓋了現實生活中應用程式問題的許多範例。
-
Java 中的設計模式(Grand M.)。
本書生動地演示了模式的使用如何節省開發人員的時間,提供了 UML 語言的概述,並描述了 47 種設計模式。
GO TO FULL VERSION