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