设计模式是编程语言本身太弱的表现?

设计模式常被视为编程高手的标志,但有人批评它们是弥补面向对象语言缺陷的权宜之计。Peter Norvig指出,在Lisp等动态语言中,许多模式要么不必要的,要么实现更简单。Paul Graham认为模式可能是编程语言不够强大导致的,而Slava Akhmechet认为函数式语言的强大表达力使得设计模式变得多余。尽管GoF认可其模式在某些语言中的不适用,但在函数式语言中,如Erlang,仍然存在模式的概念,只是形式不同。学习新语言,尤其是函数式语言,可能有助于程序员理解和应用设计模式。
摘要由CSDN通过智能技术生成

 这是给《程序员》2009年12期所写的一个补白。这一期我自己感觉最精彩的,是《设计模式》15周年这个专题。敬请关注。

 


 

在国内一般程序员的眼中,设计模式曾经是高手的代名词,是超越具体程序设计语言的神功秘诀。但是,大家也许不知道的是,设计模式几乎一出生就伴随着批评甚至嘲笑。

不要以为这是无知者的无畏举动。早在1996 年,软件技术界最顶尖的大牛之一、Google 工程总监Peter Norvig 就做过名为“ Design Patterns in Dynamic Programming ”的演讲 ,其中他敏锐地指出:

设计模式某种意义上是为解决面向对象语言(当时主要是指 C++ )本身缺陷的一种权宜之计。在 Lisp 这样的动态(函数)语言中,由于不需要管理类和对象,不需要解决类给设计上带来的限制, GoF

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值