揭開設計模式的秘辛:設計模式 (第1¾版) | 拾書所

揭開設計模式的秘辛:設計模式 (第1¾版)

$ 343 元 原價 390

~~~~~~~大師已逝,墨跡留香~~~~~~~

學習設計模式的人,一定聽過《Design Patterns: Elements of Reusable Object-Oriented Software》這本書,俗稱GoF的《設計模式》或GoF的23個設計模式。早期就開始學習設計模式的前輩也大多讀過那本書。
GoF的設計模式只有23個嗎?其實不只23個,在該書出版之時,有接近半打的模式未能被放入該書當中,原因有很多,例如在當年尚未取得兩個以上的大型專案實例來驗證可行性、尚未取得四人的共識、與其他模式之間的分界尚不明朗等等,都可能會導致一些模式未被納入。

該書的遺珠之憾是那些模式呢?在本書中,作者(GoF的四位成員之一)補充了兩個模式,其中的GENERATION GAP模式已經獲得共識,只是在當年的實例不夠多,但現在看來,實在是稀鬆平常,到處都可以看到開發環境或框架採用了這個模式。

至於另一個TYPED MESSAGE模式,在規劃初期是叫做MULTICAST模式,這個模式初期只取得其中三人的同意。藉著這個尚未取得共識的模式,作者揭露了當初在撰寫《Design Patterns: Elements of Reusable Object-Oriented Software》時,四位作者之間對於模式的討論方式,讓讀者得以一窺大師們的討論、思想、以及對軟體設計的習慣。並且在說服反對者的最後關頭,還加入了另一位大師《Clean Code》作者Robert C. Martin(Bob大叔)的支援。如果您仔細閱讀本書第四章及第五章,會發現原來要成為一個新模式真是不簡單啊!那些面世的模式全都是大師們的心血結晶,無價的經驗寶藏。

早期,有些人會批評《Design Patterns》不適合作為學習設計模式的第一本書,或許是因為有些人看的、寫的專案不夠多,所以無法體會其中的奧妙。後來,由於設計模式被大多數高級軟體工程師接受了,因此寫了非常多的相關書籍來介紹設計模式,漸漸地,設計模式不再那麼令人敬畏,也成為了軟體設計的顯學。而這類比較容易理解的書籍,通常都是採用最適合初階讀者的寫法,也就是舉出實例來說明模式。而且舉的例子越是程式設計師理解的例子,就越能使程式設計師學會設計模式並加以活用。

有些書籍,只針對每個模式舉出一個例子,但無法找出一些好例子,可同時應用多個模式來完成同一個例子中不同的功能要求,這樣的寫作法,常常誤導了讀者,違背了設計模式的目的。換言之,一招半式是要如何走江湖呢?本書有別於那些書籍,在本書第二章中,作者以程式設計師最能理解的檔案系統為例,實際示範如何應用六個模式來解決檔案系統不同的功能需求,這六個模式之間的相互合作方式,讓人眼睛為之一亮。讚嘆道︰「原來設計模式是這樣用的啊!」

許多讀者都在期待《設計模式》的第二版,而第二版會是什麼樣子呢?這很難說(也可能不會有第二版了),但至少可以肯定的是,本書作者對於《設計模式》第二版所能做出的貢獻,都已經寫在這本書當中了。

作者簡介:

John Vlissides(1961 - 2005)是軟體設計模式的創始GoF(Gang of Four)四位成員之一,也就是設計模式名著《Design Patterns: Elements of Reusable Object-Oriented Software》的作者之一。曾在史丹佛大學工作,自1991年起任IBM T. J. Watson研究中心的研究員。他還曾是《Pattern Languages of Program Design》的編輯,以及Addison-Wesley「軟體模式」叢書的顧問。
2005年的感恩節因腦瘤病故,年僅44歲。ACM SIGPLAN為紀念他的貢獻,特別設立了John Vlissides獎。

Brand Slider