所在位置:UML新闻 - 内容 论坛精华    
设计模式十五周年

[2009/11/12]

1994年10月,“Design Patterns: Elements of Reusable Object-Oriented Software”,即广为人知的《设计模式》出版。该书自出版后共重印36次,被翻译成13种其他语言,而且有不计其数的兄弟书籍面世,“言必称模式”成为一种时髦或一种病,可谓影响深远。

2009年是《设计模式》出版的十五周年,informIT刊登了Larry O'Brien对该书相关人士的系列纪念专访。GoF中的John Vlissides已经于2005年11月因脑瘤去世,另外三位作者Erich Gamma(现为IBM杰出工程师)、Richard Helm(现供职于波士顿咨询集团)和Ralph Johnson(现在UIUC任教)都接受了采访。

针对书中的第一句话“设计面向对象软件是困难的,而设计可复用的面向对象软件就更困难”,Ralph Johnson认为这句话今天依然适用,虽然现在的10万行代码比以前的10万行能干的事情要多得多,但软件的规模也变大了。

问到《设计模式》中的哪些地方需要作出变化时,Erich Gamma认为分类需要修改,并且增加一些模式,他建议作如下新的分类:

核心: 组合、策略、状态、命令、迭代器、代理、模板方法、门面(Fa?ade)
创建型: 工厂、原型、生成器、依赖注入
外围型:抽象工厂、访问者、装饰、中介者、类型对象、空对象、扩展对象
其他: 蝇量、解释器

Erich Gamma还谈到一件趣事――现在风靡的iPhone SDK和《设计模式》的关系。iPhone SDK基于NeXTStep面向对象框架,该框架在书出版之前就存在了,它也是《设计模式》灵感的一个来源。象适配器、桥接、代理和责任链模式都是参考了这个框架。所以,当他学习iPhone SDK时,发现自己对那些库很熟悉,因为他知道里面使用了哪些模式。

《设计模式》前言的作者Grady Booch回顾了十五年前该书出版前的软件开发技术,他认为《设计模式》是针对90年代初各种方法学思想更高级别的抽象。Linda Rising也回忆了该书在OOPSLA 94上首发时的盛况:长龙一直从Addison-Wesley的摊位前面一直排到展厅的走廊!

(UMLChina,不得转载用于商业用途)