面向模式的軟體架構,卷3:資源管理模式

luli發表於2013-01-15

POSA作為一個整體,在結構上相輔相成,緊密聯絡。在相繼出版了POSA系列的卷4、卷5後,卷3也即將與大家見面了,而且卷1和卷2也在由資深人士進行翻譯,相信圖靈會將整個POSA系列完美地呈現給大家。

本書主要講述資源管理模式。無論軟體是什麼樣的,高效地管理資源都至關重要。從移動裝置的嵌入式軟體到大型企業伺服器中的軟體,要讓系統有效而正確地執行,都必須高效地管理記憶體、執行緒、檔案、網路連線等資源。

本書從模式的角度觸發,闡述在系統中高效地管理資源的技巧。通過多個示例詳細介紹了相關的模式,同時與POSA前兩卷一樣,指明瞭模式的實現方向。另外,本書還詳細介紹了資源管理,並通過兩個案例研究,闡述瞭如何將資源管理模式應用於自組網和移動無線網路領域。按不同的資源管理方面對模式進行了分組,這涵蓋了資源的整個生命週期:獲取、管理和釋放。

本書包含兩部分。第一部分簡要地介紹了資源管理和資源管理模式,這部分包含三章,分別介紹三類模式:資源獲取、資源生命週期和資源釋放,它們分別對應於典型資源生命週期的三個階段。第二部分通過兩個案例研究將這些模式付諸應用。

本書的第一部分從問題域的角度探討資源管理,而第二部分從應用領域的角度探討。本書介紹的模式都不是孤立的,事實上,在探討資源管理模式的過程中,我們引用了大量其他的相關模式。對於每個這樣的模式,附錄“引用的模式”都對其做了簡要介紹。

口說無憑,讓我們看看amazon.com上讀者給出的評論吧。

標題:思路清晰,寫作上乘

評論人:wiredweird

在我讀過的所有模式設計類圖書中,本書是寫得最好的一本。每種模式都是按照我們預期的方式來闡釋的:定義、應用場景及其應用效果。

不僅如此,正如我們所期許的,大部分模式是以類圖的形式給出的。其互動圖比大多數書中的都要常見及完整,清晰地展示了不同角色間的互動。多個互動圖給出了實現或使用某模式的多種方式。同樣,對於很多模式,本書也給出了CRC卡,對於從未見過CRC卡使用方式的讀者,本書絕對是個不錯的參考。

各個模式描述中的“實現”部分是本書的亮點。其中給出了分析模式的不同步驟及因素,從而引出模式的使用,對於不熟悉該抽象層次的讀者來說,這部分絕對大有裨益。

最後要說的是,所有模式都是用Java程式碼來描述的。對於需要將抽象轉化為現實的具體化方案的讀者來說,這點將使他們受益匪淺。不過,對於程式碼示例,我的感覺一直很複雜。我看到太多的設計模式初學者錯將示例作為規則來應用。他們將無法掌握模式寬度及將其轉化為可執行的系統的有效方式。

本書唯一的缺陷就在於其展示的水平很初級。經驗豐富的讀者對於其中的很多模式都已經有所認知,不過,在模式設計方面,這也是個通病。另外,本書在描述方面,會遺漏一些重要的題材。本書的重點在於資源分配的模式。對於資源受限的嵌入式系統來說,死鎖確實是個很大的威脅,本書所講的模式對於解決這個問題大有幫助,不過作者提到死鎖的次數很有限(如果曾提到的話)。在平行系統及分散式系統中,資源管理(包括資源重複及資源高速存取)也很重要。

總的來說,本書相當不錯。關於模式的內容可圈可點,展示部分也很出彩。

題目:目標明確,內容全面

評論人:Ray Ye

資源管理這個話題已經是老生常談了。有人也給出了該領域的一兩個模式,不過本書之所以出類拔萃就在於它將所有這些模式整合了一種模式語言。

本書介紹了3類模式:資源獲取、資源生命週期及資源釋放。還提供了兩個案例研究。本書英文版雖只有區區250頁左右,但囊括了資源管理範疇的大量內容。

對於當前高效能的企業應用程式的開發,資源管理變得比以往任何時候都更為重要。資源不僅限於CPU功耗、執行緒、記憶體及連線等,還涉及遠端客戶獲取的元件或服務方面。企業級應用程式開發人員會發現,在通過高效的資源管理來開發高效的、穩定的、可擴充套件的、可預測的及可訪問的應用程式方面,本書絕對不可或缺。

相關文章