这是给《程序员》2009年12期所写的一个补白。这一期我自己感觉最精彩的,是《设计模式》15周年这个专题。敬请关注。
在国内一般程序员的眼中,设计模式曾经是高手的代名词,是超越具体程序设计语言的神功秘诀。但是,大家也许不知道的是,设计模式几乎一出生就伴随着批评甚至嘲笑。
不要以为这是无知者的无畏举动。早在1996 年,软件技术界最顶尖的大牛之一、Google 工程总监Peter Norvig 就做过名为“ Design Patterns in Dynamic Programming ”的演讲 ,其中他敏锐地指出:
设计模式某种意义上是为解决面向对象语言(当时主要是指 C++ )本身缺陷的一种权宜之计。在 Lisp 这样的动态(函数)语言中,由于不需要管理类和对象,不需要解决类给设计上带来的限制, GoF 的