出版時間:201005 出版社:人民郵電出版社 作者:John M.Vlissides 頁數(shù):143 譯者:葛子昂
Tag標簽:無
前言
我永遠不會忘記1994年秋天的那個下午。那天我收到一封來自Stan Lippman(時任C++ Report雜志的主編)的電子郵件,他邀我為該雜志撰寫一個專欄,該專欄每兩個月一期。 我們算得上是老相識了,早在他參觀Watson實驗室的時候我們就認識了。那一次我們簡單地聊了他在開發(fā)工具方面所做的工作,以及GoF在模式方面所做的工作。與那時大多數(shù)人不一樣的是,Stan熟悉模式的概念——他接連閱讀了《設計模式》的一些預印本,并說過一些令人鼓舞的話。盡管如此,我們的談話很快就轉移到了寫作上。隨著談話的進行,我記得自己愈加炫耀起來,仿佛我已經(jīng)不是自己了。而Stan,這位知名的專欄作家,是兩本非常成功的圖書(還有一本即將出版)的作者,卻稱自己的寫作只是業(yè)余水平。我不清楚我們的談話是否讓他感到愉快,還是在他的下一個約會之前他一直都在耐著性子和我談話。(此后我認識到,如果還有什么能勝過Stan的忍耐力,那就是他的真誠!) 幾個月后我收到他的電子郵件,心潮起伏,此前的歉疚感就不值一提了。想象著自己為全球的讀者定期撰寫專欄,這既讓我興奮,又讓我恐懼。寫了幾次之后我是否還能繼續(xù)?人們是否在乎我寫些什么?我應該寫些什么?我寫的東西對別人是否有幫助? 我在恐懼中沉溺了將近一小時。然后我想起我父親的一些告誡:局促不安只能使人無所作為。只要關注最基本的東西,其他東西會隨之而來的?!爸还苋プ觥保↗ust do it),他說這句話比耐克要早得多。 于是我就接受了。 選擇專欄主題非常容易。那時我深陷于模式的研究中已有三年了。我們最近剛完成《設計模式》,但我們都知道它遠遠沒有說完這個話題。專欄會是一個很好的論壇,可以對《設計模式》一書進行解釋,可以對它進行擴展,還可以在新問題出現(xiàn)時展開討論。如果說專欄有助于《設計模式》圖書的銷售,那也無妨,只要它立場公正,不亂吹噓。 現(xiàn)在,我的“模式孵化”專欄已經(jīng)連載了10多篇文章了,回過頭看,我的恐懼是沒有依據(jù)的。我從來沒有因為要找東西寫而為難,而且寫作時我樂在其中。我還從世界各地收到了大量令人鼓舞的反饋,包括一些人要求閱讀過去的專欄,而且這樣的要求一再出現(xiàn)。后來我想到了把我的專欄,以及其他一些尚未發(fā)表的關于模式的材料,匯編在一起提供給大家。 本書就是要達到這個目的。讀者將在書中找到我前三年專欄寫作生涯中的思考和想法,其中包括發(fā)表在C++ Report和Object Magazine中的所有文章,加上一些零碎的新見解。我按照邏輯的順序來組織內(nèi)容,而不是通過時間順序來組織內(nèi)容,其目的是為了使所有的內(nèi)容能夠像書本一樣連貫。這樣的組織比我想象的要容易一些,因為許多文章既是這個系列的一部分,又是那個系列的一部分,當然這仍然需要耗費大量的精力。我衷心地希望讀者能夠喜歡最終的結果。
內(nèi)容概要
本書在《設計模式》的基礎上進行了拓展,運用其中的概念,介紹了一些技巧,幫助讀者決定在不同的情況下應該使用哪些模式,以及不應該使用哪些模式。本書不僅對已有的一些模式提出新的見解,還讓讀者見證開發(fā)新模式的整個過程?! ”緯m合使用設計模式的軟件開發(fā)人員閱讀。
作者簡介
作者:(美國)威利斯迪斯(John Vlissides) 譯者:葛子昂John Vlissides(1961—2005) 設計模式四人幫之一,《設計模式》一書的作者。曾在斯坦福大學工作,自1991年起任IBM T. J. Watson研究中心的研究員。他還曾是《程序設計的模式語言》的編輯,Addison-Wesley“軟件模式”叢書的顧問。因患腦瘤于2005年感恩節(jié)(11月24日)病故。為紀念他的貢獻,ACM SIGPLAN特設立了John Vlissides獎。葛子昂,現(xiàn)任微軟中國研發(fā)集團服務器及開發(fā)工具事業(yè)部的軟件開發(fā)主管,目前從事WF的相關開發(fā),致力于為WF開發(fā)人員提供方便高效的開發(fā)工具。之前曾長期從事WCF產(chǎn)品的相關研發(fā),具有豐富 的開發(fā)經(jīng)驗。出版譯作有《.NET設計規(guī)范(第2版)》、《Windows核心編程(第5版)》。
書籍目錄
第1章 介紹 1.1 對模式的十大誤解 1.2 觀察 第2章 運用模式進行設計 2.1 基礎 2.2 孤兒、孤兒的收養(yǎng)以及代用品 2.3 “但是應該如何引入代用品呢?” 2.4 訪問權限 2.5 關于VISITOR的一些警告 2.6 單用戶文件系統(tǒng)的保護 2.7 多用戶文件系統(tǒng)的保護 2.8 小結 第3章 主體和變體 3.1 終止SINGLETON 3.2 OBSERVER的煩惱 3.3 重溫VISITOR 3.4 GENERATION GAP 3.5 Type Laundering 3.6 感謝內(nèi)存泄漏 3.7 推拉模型 第4章 愛的奉獻 第5章 高效模式編寫者的7個習慣 5.1 習慣1:經(jīng)常反思 5.2 習慣2:堅持使用同一套結構 5.3 習慣3:盡早且頻繁地涉及具體問題 5.4 習慣4:保持模式間的區(qū)別和互補性 5.5 習慣5:有效地呈現(xiàn) 5.6 習慣6:不懈地重復 5.7 習慣7:收集并吸取反饋 5.8 沒有銀彈 參考文獻 索引
章節(jié)摘錄
插圖:誤解8“沒有證據(jù)表明模式對任何人有幫助?!边@種誤解在過去還能站得住腳,但現(xiàn)在已經(jīng)不是那么回事了。人們正在通過各種渠道報道模式所帶來的好處,這些渠道包括括Software-Practice and Experience[Kotula96]之類的期刊,以及OOPSLA[HJE95,Schmid95]和ICSE[BCC+]之類的會議。:Doug Schmidt也曾經(jīng)表示過,模式對大學生和研究生的計算機科學教學有諸多好處[PD96]。雖然這些大多是定性的分析,但就我所知,至少有一個團體正在進行受控的實驗,以獲取量化的結果。隨著時間的推移,我們會更加清楚使用模式所帶來的好處和隱患。即使最初的反饋非常好,我們?nèi)匀恍枰e累更多的經(jīng)驗,這樣才能得到一個更加全面的評估。但是,如果僅僅因為模式所帶來的好處還沒有被完全量化就拒絕馬上開始使用模式,那絕對是很愚蠢的行為。關于模式能夠做什么的謬論就到此為止。下面最后兩種誤解與模式本身無關,而與擁護模式的社區(qū)有關。誤解9“模式社區(qū)是一個由精英分子組成的小幫派。”我很想知道這樣的想法從何而來,這是因為如果模式社區(qū)確實有哪方面值得一提,那一定是它的多樣性。這一點很容易判斷,只要看一看PLoP的與會者就可以知道——人們來自世界各地,既有來自大公司也有來自小型創(chuàng)業(yè)公司,有分析師、設計師和實現(xiàn)者,有學生和教授,還有大名鼎鼎的作者和新手。而且令我感到驚訝的是,有幾個經(jīng)常參加該會議的與會者竟然不是搞計算機的!模式社區(qū)仍然處于不斷變動的狀態(tài),每年與會者的流動率都相當高。模式社區(qū)里常常有著作發(fā)表,但社區(qū)中有學術背景的人相對來說卻并不多,對此有人可能會感到不解。事實上,PLoP的大多數(shù)與會者都是軟件行業(yè)的從業(yè)人員,而且似乎一直以來都是這樣。軟件模式的早期擁護者們——包括Kent Beck、Peter·Coad以及Ward Cunningham——沒有一個是來自學術界的。GoF中只有一個(Ralph)來自學術界,而且他是我所見過的最講究實用性的學者。模式社區(qū)的草根本質(zhì)顯然與那些所謂的同種論(homogeneity)和精英論是背道而馳的。
媒體關注與評論
“本書將幫助你理解如何將《設計模式》——其實是任何關于設計模式的書籍——當作一本珍貴的指南,而不是當作一些累贅的規(guī)定?!? ——James O. Coplien,朗訊科技公司,貝爾實驗室 “哇!這部技術圖書的文風非常吸引人,我從未讀到過這樣精彩的技術圖書。John真的已經(jīng)爐火純青,游刃有余:他對技術主題的把握如此堅實、準確又引人入勝?!? ——Frank Buschmann,西門子公司
編輯推薦
《設計模式沉思錄》:揭開模式開發(fā)的神秘面紗,破除模式十大誤解,養(yǎng)成七種習慣,成為模式設計高手?!对O計模式沉思錄》作者是設計模式的開山鼻祖之一。在《設計模式沉思錄》中,他不僅通過一些通俗易懂的實例對如何運用設計模式進行了深入的講解,而且還介紹了一些新的設計模式。同時還講述了模式背后鮮為人知的一些故事,讓讀者領略其中的苦與樂?!对O計模式沉思錄》幫助讀者在面向對象設計的基本原則下,將設計模式運用到合適的地方。它道出了雖然不正式、但卻嚴格的標準,展現(xiàn)了緊張的迭代過程,《設計模式》中的23個模式正是基于這樣的標準,經(jīng)歷了這樣的迭代過程產(chǎn)生的。讀者理解了這一點,將有助于把模式應用到講究實用的日常工作中,認識到必須根據(jù)手頭的問題來對模式進行調(diào)整,并加入自己的思考而不僅僅是盲目地遵循書本教條。通過反復品味,讀者有朝一日終能編寫出自己的模式!
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載