探寻软件的永恒之道.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
探寻软件的永恒之道 ——评介《建筑的永恒之道》 撰文/透明 从模式说起 1 “模式”这个词进入中国软件开发者的视野,是从《设计模式》一书开始的。2000 年 9 月,中国的软件开发图书市场还远不如今天繁荣,相信这本书给绝大多数人的都是一 种耳目一新的感觉。突然之间看到如此之多精致优雅的解决方案,足以令长期苦苦探索 设计之路的开发者们“漫卷诗书喜欲狂”了。 在那个时候,我也是模式的痴迷者之一。还记得 2001 年,我和朋友的通信中多次表现 出这样的痴迷。下面是我2001 年10 月给朋友Windy 的一封信: 对“面向模式的设计”的开悟,在十三陵。 站在长陵的绫恩殿,宏大的建筑,给我一种鹈鹕灌顶的感悟。那天 John Vlissides 说, Christopher Alexander 曾经说中国的建筑给了他很多灵感。今天,我想我抓到了一点大 师的感触。 繁复的构造,精巧的设计,却能天衣无缝的组成如此完美的建筑。无疑这是设计的成功。 仔细观察之下,发现对于各种各样的建筑,其组成元件——棂椽梁柱——却都是毫无二 致。这是多么高的复用程度!这体现了多么成熟的设计体系! …… 在公路边,一些建筑工人在建造一组仿古的房屋。朝代更替,光阴流逝,但工人们仍然 能够完美的仿造四百年前的建筑。因为他们一代代流传着精确而形象的模式语言。 尽管我看Shalloway 的Design Patterns Explained 已经有一段时间,在今天,我终于知道 为什么他如此钟情于Alexander 的建筑模式了。 可惜,由于缺乏一种文化的积淀,《设计模式》的读者们(包括我在内)都患上了消化 不良。我大胆估计,《设计模式》在中国软件业造成的负面效果绝不少于其正面效果。 Alan Shalloway 曾经说,“模式”并不仅仅限于“设计”,甚至“设计”二字正是导致最 1 Eric Gamma 等著,李英军等译,《设计模式》(Desig n Patterns ),机械工业出版社2000 年9 月。 2 多误会的根源;John Vlissides 在他的Pattern Hatching 中列举了对模式的“十大误解”, 3 其中提到“模式并不仅仅是一种解决方案” 。但是,有多少人知道,为什么? 正是因为缺乏必要的背景知识,中国开发者对模式的了解往往是片面的甚至是错误的。 如果把模式仅仅视为一种解决方案、或者一种反复出现的情况的总结,那么它顶多只对 软件开发有一定的帮助或者指导意义;如果只把模式作为预先(up-front )设计的方案, 它甚至会导致过分工程(over-engineering)。总而言之,模式顶多只能算一种“好东西”, 至于“永恒之道”这种溢美之词,即使最钟情于模式如我,也是不敢出口的。 建筑的永恒之道 在面对一门有数十年思想基础和十余年发展历史的学科时,我们必须承认自己的浅薄, 我们必须不断学习。同时,我们必须有自己的思想。苏格拉底说:“我们无知,所以我 们有智慧。” 为了真正理解GoF 的思想,为了真正理解模式的思想,我们有必要先深入其思想基础。 于是,我翻开了手上的书。于是,我看到了与我以往的理解完全不同的知识,我看到了 一个崭新的世界。 记得上面的一个问题吗?“模式并不仅仅是一个解决方案”。这句话是什么意思?请看 下面这段话: ……模式系统形成了一种语言。 从数学观点看,最简单的语言是一个包括两个系列的系统: 1. 一系列要素或符号。 2. 组合这些符号的一系列规则。 然而,……模式既是要素,也是规则,所以规则和要素不可分。模式就是要素。每一模 4 式也是一个规则,它描述了本身也是其他模式的要素的可能的排列。 于是豁然开朗。从最初的定义开始,模式就不仅仅是解决方案,而是一种完整的语言。 作为解决方案,模式构成了语言的要素;而作为语言规则时,模式的意义同样重要,甚 2 2002 年4 月30 日UMLChina 主办的Alan Shalloway 网上交流记录, /download/Shalloway.pdf 3 John Vlissides ,《模式的十大误解》,/download/t

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档