设计模式沉思录 - John M.Vlissides

设计模式沉思录

John M.Vlissides

出版时间

201004-12-31

ISBN

9787115224637

评分

★★★★★

标签

设计

书籍介绍

本书作者是设计模式的开山鼻祖之一。在本书中,他不仅通过一些通俗易懂的实例对如何运用设计模式进行了深入的讲解,而且还介绍了一些新的设计模式。同时还讲述了模式背后鲜为人知的一些故事,让读者领略其中的苦与乐。

本书帮助读者在面向对象设计的基本原则下,将设计模式运用到合适的地方。它道出了虽然不正式、但却严格的标准,展现了紧张的迭代过程,《设计模式》中的23个模式正是基于这样的标准,经历了这样的迭代过程产生的。读者理解了这一点,将有助于把模式应用到讲究实用的日常工作中,认识到必须根据手头的问题来对模式进行调整,并加入自己的思考而不仅仅是盲目地遵循书本教条。通过反复品味,读者有朝一日终能编写出自己的模式!

AI导读
核心看点
  • GoF成员深度解析模式背后的设计哲学与迭代过程
  • 揭示经典模式局限,提出Generation Gap等新思路
  • 强调根据实际问题调整模式,拒绝盲目套用教条
适合谁读
  • 已掌握GoF设计模式,希望深入理解其本质的开发者
  • 对软件架构设计有思考,追求代码优雅与扩展性的工程师
  • 不满足于表面应用,渴望探索模式演进与反思的资深程序员
读前提醒
  • 本书非入门教材,需具备扎实的设计模式基础方可阅读
  • 内容偏向思辨与反思,部分章节可能显得散乱或晦涩
  • 建议结合C++代码示例理解,重点关注设计思路而非语法
读者共识
  • 适合作为GoF《设计模式》的补充与进阶读物,非首选入门书
  • 作者水平极高,但内容精炼且带有个人笔记色彩,需耐心品味
  • 对模式局限性的探讨极具启发性,有助于打破思维定势

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "乱中求序是自然科学的主旋律。"
  • "局促不安只能使人无所作为。只要关注最基本的东西,其他东西会随之而来的。"
  • "GoF: Erich Gamma Richard Helm Ralph Johnson John Vlissides"
  • "要防止夸大其词的宣扬引发抵触情绪,最好的方法就是——少说多做。"
  • "Adapter让我们改变一个类的接口。 Bridge让我们改变一个类的实现。 Composite让我们改变对象的结构和组成。 Decorator让我们改变职责而无需派生子类。 Facade让我们改变一个子系统的接口。 Flyweight让我们改变对象的存储开销。 Proxy让我们改变如何访问一个对象以及改变对象的位置。"
  • "当我们需要对一个对象进行引用,但这个引用需要具备更多的功能或要比一个简单的指针更加复杂时,Proxy模式就适用。"
  • "我们迫切地希望能避免修改已有的代码(可以理解为“向已有的代码中添加bug”)。"
  • "使用重载的时候,子类必须覆盖所有的函数,否则C++中对虚拟重载函数的选择性覆盖会隐藏基类中的一个或多个操作。"
作者简介
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 没有银弹 参考文献 索引
用户评论
原版很老,从前言看是98年的。翻译得很好很用心。 Generation Gap挺容易理解,估计用不上。 内存泄漏cursorImp:平时不用c++,这节看看而已 observer与multricast的关系,没看懂。
GoF之一写的。书很薄,但是配得上沉思2字。
相对《设计模式》的枯燥,这书跟有趣,谈论更深入
干得漂亮,John!
将导出设计模式的思路以及争议写的非常的清晰,这本书的写作角度非常不错,内存不多,但是要表达的意思基本表达清楚了。
@2012-05-13 00:50:59
98年的原著,10年国内出版。GoF大师不负盛名,第四章众大神的思辨尤为精彩。可惜C++的语法忘得差不多了,读起来样例代码真有点吃力。
这本书颇为奇特。或许跟领域的特殊性有关,有的内容似乎还没想透就写出来了;有的内容使用的例子不太恰当。好的方面,一是温故,温习了好多设计模式;二是知新,的确也有新的收获。若问是否推荐,不好回答。想读的话,需要耐心一点,自己分辨自己过滤。最5章一些“论道”的内容挺有启发,但终究属于形而上。
这本书是2012年买的断断续续读了三遍多了,分别是我刚了解设计模式研一,工作一年和工作三年,对设计的理解千差万别,打算之后再读一遍,适合不同时段的技术不断的认识自己和总结自己的思路。非常值得珍藏并读很多遍的书,。
收藏