設計模式領域的又一里程碑之作 The Zen of Design Patterns
禪宗日:“教外別傳,不立文字”,禪的境界本不該用文字來描述,言語也道不明白,但為了傳道,悟道者仍要藉言語來說明。
何為禪?一種境界,一種體驗,一種精神領域的最高修為。何為設計模式?對物件導向思想的深刻理解,對軟體設計方法和編碼經驗的完美總結。
本書是創造者的心路歷程,是實踐者的智慧結晶,是得道者的禪悟。它透過幽默風趣的故事和通俗易懂的講述方式,引導你悟透設汁模式的真諦。
如果你在思考下面這些問題,也許本書就是你想要的!
.業務分析如此細緻,架構設計如此強健、可靠且穩定,但為何仍然無法適應業務發展的需要,而且生命周期只有短短幾年?
.為何你的團隊協作了多年卻始終無法沉澱出可重利用的組件或構件?依賴和解耦合的標準是什麼?如何才能做到既不相互“刺傷”,又能相互“取暖”的境界?
.架構設計時,如何才能實現高可擴展性和易維護性?如何避免維護成本大於開發成本的悲哀現狀?
.交易型的系統如何大規模地藉用設計模式的思想,以實現高性能、高可靠性的建設目標?
.架構設計時,如果遇到這樣的情況:“有一個請求者和多個處理者,同時要求二者之間解耦合,以便處理者可以動態地擴展“,這該如何處理?
.如果遇到這樣的場景:“多個物件依賴一個物件,該物件狀態改變時,所有的依賴者都要相應地獲得通知,並且要求物件之間鬆散耦合”,這該如何處理?
.萬物皆物件,不可能把每一個物件都分解到原子級別,如何適度地細化物件的粒度?怎樣界定物件的粒度大小?
.同為創建類模式,工廠方法模式和建造者模式都可以建立物件,它們之間有何區別?適用的場景又有何不同?
.狀態模式和策略模式的通用類別圖如此相似,在實際的應用場景中如何區分它們?
.如何使命令模式和責任鏈模式完美地搭配並建立一個高可擴展性的系統架構,以解決客戶端和處理者皆被參數化的場景?
.觀察者模式和責任鏈模式真的沒有可比性嗎?它們的主要區別何在?實際應用中如何使用?
.組合模式只能用來表示部分和整體的關係嗎?從中擴展出的規格模式是如何實作的?透明的組合模式和安全的組合模式有何區別? |