如果說“四人幫”的《設計模式》是設計模式領域的“圣經”,那么之后出版的各種關于設計模式的書都可稱之為“圣經”的“注釋版”或“圣經的故事”。《設計模式之禪》是得道者對“圣經”的“禪悟”,它既不像“圣經”那樣因為惜字如金、字字珠璣而深奧、晦澀和難懂,又比“圣經”的“注釋版”更深刻和全面、更通俗和生動、更接近開發(fā)者遇到的實踐場景,更具指導性?!对O計模式之禪》兼收并蓄、博采眾長,也許是設計模式領域里的下一個里程碑之作。全書共分為四部分,第一部分從原理的角度闡述了面向對象程序設計的6大原則;第二部生動地講解和剖析了23種常見的設計模式,并進行了擴展,通俗易懂,趣味性極強而又緊扣模式的核心;第三部分對各種相關聯(lián)的設計模式進行了深入分析和比較,旨在闡明各種設計模式比較理想的應用場景和它們之間的區(qū)別;第四部分探討了設計模式的混編,講解了如何在實際開發(fā)中將各種設計模式混合起來使用,以發(fā)揮設計模式的最大效用。最后,《設計模式之禪》還附有一份設計模式彩圖,可以裁剪,便于參考。禪宗曰:“教外別傳,不立文字”,禪的境界本不該用文字來描述,言語也道不明白,但為了傳道,悟道者仍要藉言語來說明。何為禪?一種境界,一種體驗,一種精神領域的最高修為。何為設計模式?對面向對象思想的深刻理解,對軟件設計方法和編碼經驗的完美總結?!对O計模式之禪》是創(chuàng)造者的心路歷程,是實踐者的智慧結晶,是得道者的禪悟。它通過幽默風趣的故事和通俗易懂的講述方式,引導你悟透設計模式的真諦。如果你在思考下面這些問題,也許《設計模式之禪》就是你想要的!1.業(yè)務分析如此細致,架構設計如此健壯、可靠和穩(wěn)定,但為何仍然無法適應業(yè)務發(fā)展的需要,而且生命周期只有短短幾年?2.為何你的團隊協(xié)作了多年卻始終無法沉淀出可復用的組件或構件?依賴和解耦的標準是什么?如何才能做到既不相互“刺傷”,又能相互“溫暖”?3.架構設計時,如何才能實現(xiàn)高可擴展性和易維護性?如何避免維護成本大于開發(fā)成本的悲哀現(xiàn)狀?4.交易型的系統(tǒng)如何大規(guī)模地借用設計模式的思想,以實現(xiàn)高性能、高可靠性的建設目標?5.架構設計時,如果遇到這樣的情況:“有一個請求者和多個處理者,同時要求二者之間解耦,以便處理者可以動態(tài)地擴展”,這該如何處理?6.如果遇到過這樣場景:“多個對象依賴一個對象,該對象狀態(tài)改變時所有的依賴者都要相應地獲得通知,并且要求對象間松散耦合”,這該如何處理?7.萬物皆對象,不可能把每一個對象都分解到原子級別,如何適度地細化對象的顆粒度?怎樣界定對象的粒度大?。?.同為創(chuàng)建類模式,工廠方法模式和建造者模式都可以創(chuàng)建對象,它們之間有何區(qū)別?適用的場景又有何不同?9.狀態(tài)模式和策略模式的通用類圖如此相似,在實際的應用場景中如何區(qū)分它們?10.如何使命令模式和責任鏈模式完美搭配并建立一個高可擴展性的系統(tǒng)架構,以解決客戶端和處理者都參數化的場景?11.觀察者模式和責任鏈模式真的沒有可比性嗎?它們的主要區(qū)別何在?實際應用中如何使用?12.組合模式只能用來表示部分和整體的關系嗎?其擴展出的規(guī)格模式是如何實現(xiàn)的?透明的組合模式和安全的組合模式有何區(qū)別?