Eric Raymond谈模块化原则,胶合层和面向对象的缺陷

[译者注]前不久翻译了Eric Raymond对几大开发语言的评价,
引起了网友的热烈讨论。其中涉及到Eric Raymond对OO的批
评,引起大家的争议。为此我再翻译他的一段相关文字,请
大家阅读思考。
 

模块化 —— Keep it clean, keep it simple

 

    程序员所面对的复杂性日益增大,而划分代码的方法也有一个自然的发展过程。一开始,软件不过是一大块机器代码。最早的过程化语言带来了“依据子例程划分代码”的观念,接下来我们发明了程序库,为不同程序提供公共服务。再下来我们发明了独立地址空间和进程间通信。如今,我们已经惯常于把程序系统分布在彼此相隔万里的互联主机上。


    Unix的早期开发者同时也是软件模块化思想的先锋。在他们之前,模块化只是计算机科学的思想,还不是工程实践。其弘旨是:要开发可正确工作的复杂软件的唯一途径,就是用定义良好的界面把诸多简单模块连结起来,形成整个系统。只有如此,大部分局部问题才可能在局部得到修正或者优化,而不至于破坏整体。


    今天所有的程序员都被教育要在子程序的层次上进行模块化。有些幸运者掌握了在抽象数据类型(ADT)层次上的模块化能力,就已经被认为是好的设计者了。如今的设计模式运动,就是希望把这个层次再提高一步,发现那些有助于对程序大型结构进行良好组织的成功的设计抽象。</

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值