设计模式沉思录

出版时间:201005  出版社:人民邮电出版社  作者:John M.Vlissides  页数:143  译者:葛子昂  
Tag标签:无  

前言

我永远不会忘记1994年秋天的那个下午。那天我收到一封来自Stan Lippman(时任C++ Report杂志的主编)的电子邮件,他邀我为该杂志撰写一个专栏,该专栏每两个月一期。 我们算得上是老相识了,早在他参观Watson实验室的时候我们就认识了。那一次我们简单地聊了他在开发工具方面所做的工作,以及GoF在模式方面所做的工作。与那时大多数人不一样的是,Stan熟悉模式的概念——他接连阅读了《设计模式》的一些预印本,并说过一些令人鼓舞的话。尽管如此,我们的谈话很快就转移到了写作上。随着谈话的进行,我记得自己愈加炫耀起来,仿佛我已经不是自己了。而Stan,这位知名的专栏作家,是两本非常成功的图书(还有一本即将出版)的作者,却称自己的写作只是业余水平。我不清楚我们的谈话是否让他感到愉快,还是在他的下一个约会之前他一直都在耐着性子和我谈话。(此后我认识到,如果还有什么能胜过Stan的忍耐力,那就是他的真诚!) 几个月后我收到他的电子邮件,心潮起伏,此前的歉疚感就不值一提了。想象着自己为全球的读者定期撰写专栏,这既让我兴奋,又让我恐惧。写了几次之后我是否还能继续?人们是否在乎我写些什么?我应该写些什么?我写的东西对别人是否有帮助? 我在恐惧中沉溺了将近一小时。然后我想起我父亲的一些告诫:局促不安只能使人无所作为。只要关注最基本的东西,其他东西会随之而来的。“只管去做”(Just do it),他说这句话比耐克要早得多。 于是我就接受了。 选择专栏主题非常容易。那时我深陷于模式的研究中已有三年了。我们最近刚完成《设计模式》,但我们都知道它远远没有说完这个话题。专栏会是一个很好的论坛,可以对《设计模式》一书进行解释,可以对它进行扩展,还可以在新问题出现时展开讨论。如果说专栏有助于《设计模式》图书的销售,那也无妨,只要它立场公正,不乱吹嘘。 现在,我的“模式孵化”专栏已经连载了10多篇文章了,回过头看,我的恐惧是没有依据的。我从来没有因为要找东西写而为难,而且写作时我乐在其中。我还从世界各地收到了大量令人鼓舞的反馈,包括一些人要求阅读过去的专栏,而且这样的要求一再出现。后来我想到了把我的专栏,以及其他一些尚未发表的关于模式的材料,汇编在一起提供给大家。 本书就是要达到这个目的。读者将在书中找到我前三年专栏写作生涯中的思考和想法,其中包括发表在C++ Report和Object Magazine中的所有文章,加上一些零碎的新见解。我按照逻辑的顺序来组织内容,而不是通过时间顺序来组织内容,其目的是为了使所有的内容能够像书本一样连贯。这样的组织比我想象的要容易一些,因为许多文章既是这个系列的一部分,又是那个系列的一部分,当然这仍然需要耗费大量的精力。我衷心地希望读者能够喜欢最终的结果。

内容概要

  本书在《设计模式》的基础上进行了拓展,运用其中的概念,介绍了一些技巧,帮助读者决定在不同的情况下应该使用哪些模式,以及不应该使用哪些模式。本书不仅对已有的一些模式提出新的见解,还让读者见证开发新模式的整个过程。  本书适合使用设计模式的软件开发人员阅读。

作者简介

作者:(美国)威利斯迪斯(John Vlissides) 译者:葛子昂John Vlissides(1961—2005) 设计模式四人帮之一,《设计模式》一书的作者。曾在斯坦福大学工作,自1991年起任IBM T. J. Watson研究中心的研究员。他还曾是《程序设计的模式语言》的编辑,Addison-Wesley“软件模式”丛书的顾问。因患脑瘤于2005年感恩节(11月24日)病故。为纪念他的贡献,ACM SIGPLAN特设立了John Vlissides奖。葛子昂,现任微软中国研发集团服务器及开发工具事业部的软件开发主管,目前从事WF的相关开发,致力于为WF开发人员提供方便高效的开发工具。之前曾长期从事WCF产品的相关研发,具有丰富 的开发经验。出版译作有《.NET设计规范(第2版)》、《Windows核心编程(第5版)》。

书籍目录

第1章 介绍  1.1 对模式的十大误解  1.2 观察 第2章 运用模式进行设计  2.1 基础  2.2 孤儿、孤儿的收养以及代用品  2.3 “但是应该如何引入代用品呢?”  2.4 访问权限  2.5 关于VISITOR的一些警告  2.6 单用户文件系统的保护  2.7 多用户文件系统的保护  2.8 小结 第3章 主体和变体  3.1 终止SINGLETON  3.2 OBSERVER的烦恼  3.3 重温VISITOR  3.4 GENERATION GAP  3.5 Type Laundering  3.6 感谢内存泄漏  3.7 推拉模型 第4章 爱的奉献 第5章 高效模式编写者的7个习惯  5.1 习惯1:经常反思  5.2 习惯2:坚持使用同一套结构  5.3 习惯3:尽早且频繁地涉及具体问题  5.4 习惯4:保持模式间的区别和互补性  5.5 习惯5:有效地呈现  5.6 习惯6:不懈地重复  5.7 习惯7:收集并吸取反馈  5.8 没有银弹 参考文献 索引 

章节摘录

插图:误解8“没有证据表明模式对任何人有帮助。”这种误解在过去还能站得住脚,但现在已经不是那么回事了。人们正在通过各种渠道报道模式所带来的好处,这些渠道包括括Software-Practice and Experience[Kotula96]之类的期刊,以及OOPSLA[HJE95,Schmid95]和ICSE[BCC+]之类的会议。:Doug Schmidt也曾经表示过,模式对大学生和研究生的计算机科学教学有诸多好处[PD96]。虽然这些大多是定性的分析,但就我所知,至少有一个团体正在进行受控的实验,以获取量化的结果。随着时间的推移,我们会更加清楚使用模式所带来的好处和隐患。即使最初的反馈非常好,我们仍然需要积累更多的经验,这样才能得到一个更加全面的评估。但是,如果仅仅因为模式所带来的好处还没有被完全量化就拒绝马上开始使用模式,那绝对是很愚蠢的行为。关于模式能够做什么的谬论就到此为止。下面最后两种误解与模式本身无关,而与拥护模式的社区有关。误解9“模式社区是一个由精英分子组成的小帮派。”我很想知道这样的想法从何而来,这是因为如果模式社区确实有哪方面值得一提,那一定是它的多样性。这一点很容易判断,只要看一看PLoP的与会者就可以知道——人们来自世界各地,既有来自大公司也有来自小型创业公司,有分析师、设计师和实现者,有学生和教授,还有大名鼎鼎的作者和新手。而且令我感到惊讶的是,有几个经常参加该会议的与会者竟然不是搞计算机的!模式社区仍然处于不断变动的状态,每年与会者的流动率都相当高。模式社区里常常有著作发表,但社区中有学术背景的人相对来说却并不多,对此有人可能会感到不解。事实上,PLoP的大多数与会者都是软件行业的从业人员,而且似乎一直以来都是这样。软件模式的早期拥护者们——包括Kent Beck、Peter·Coad以及Ward Cunningham——没有一个是来自学术界的。GoF中只有一个(Ralph)来自学术界,而且他是我所见过的最讲究实用性的学者。模式社区的草根本质显然与那些所谓的同种论(homogeneity)和精英论是背道而驰的。

媒体关注与评论

“本书将帮助你理解如何将《设计模式》——其实是任何关于设计模式的书籍——当作一本珍贵的指南,而不是当作一些累赘的规定。”   ——James O. Coplien,朗讯科技公司,贝尔实验室 “哇!这部技术图书的文风非常吸引人,我从未读到过这样精彩的技术图书。John真的已经炉火纯青,游刃有余:他对技术主题的把握如此坚实、准确又引人入胜。”   ——Frank Buschmann,西门子公司

编辑推荐

《设计模式沉思录》:揭开模式开发的神秘面纱,破除模式十大误解,养成七种习惯,成为模式设计高手。《设计模式沉思录》作者是设计模式的开山鼻祖之一。在《设计模式沉思录》中,他不仅通过一些通俗易懂的实例对如何运用设计模式进行了深入的讲解,而且还介绍了一些新的设计模式。同时还讲述了模式背后鲜为人知的一些故事,让读者领略其中的苦与乐。《设计模式沉思录》帮助读者在面向对象设计的基本原则下,将设计模式运用到合适的地方。它道出了虽然不正式、但却严格的标准,展现了紧张的迭代过程,《设计模式》中的23个模式正是基于这样的标准,经历了这样的迭代过程产生的。读者理解了这一点,将有助于把模式应用到讲究实用的日常工作中,认识到必须根据手头的问题来对模式进行调整,并加入自己的思考而不仅仅是盲目地遵循书本教条。通过反复品味,读者有朝一日终能编写出自己的模式!

图书封面

图书标签Tags

评论、评分、阅读与下载


    设计模式沉思录 PDF格式下载


用户评论 (总计14条)

 
 

  •   好书 经典 值得收藏唯一缺憾是十年之后才出现在我们眼前
  •   先说本书得翻译还是不错的,能做到顺达。就我个人的体会而言,学习和使用模式的时候总是有各种各样的困惑和纠结。这本书告诉我们模式一书的作者们同样有很多困惑和纠结,而这些困惑和纠结正是使用模式时的必经之路。如果对你的编程任务没有足够的了解,很难开始就把模式用对,一般是边想边干,边干边想,如果时间紧任务重,很快就会把模式放在一边,或者混搭了很多编程的风格,就好像现代化的高楼大厦最顶层修盖了中式建筑的飞檐。这本书以实例给出了关于模式深入的探讨,并给出各种方法鼓励坚持使用模式。本书不是入门书籍,也不是对模式有了解的人,本书要求至少正在实际应用设计模式。我相信阅读本书,一定会从模式中获益。
  •   在线看了一张多就决定买下了
  •   代码很多,感觉比纯粹的描述更能弄懂模式工作的方式
  •   相当之不错,推荐一读
  •   超级薄的一本,只翻了翻
  •   并不是所有的开发都需要设计模式,不要为了用模式而去用,这是我看此书的观点
  •   书不错,翻译也不错,偶尔有地方不知所云。
  •   GOF之后再看
  •   11.1抢到 嘎嘎
  •   专业书,慢慢学
  •   书还行,就是贵
  •   理论性很强,有些地方看不大明白
  •   很久就想买的一本书
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7