科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件面向对象编程就一定是正确的?

面向对象编程就一定是正确的?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文作者通过自己的亲身经历,提出面向对象编程不一定是正确的,我们对它的思维定势是不对的。

作者:Abhinaba 来源:IT168 2007年9月14日

关键字: 面向对象 编程

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

当我们使用一个工具很长时间以后,我们通常会习惯它,会使用它的方式来思考问题,而不是使用它来帮助物化我们的思维。大多数情况下这不是一件好事。

当我们在大学的时候,我们就被告知要学会面向对象编程(OOP),即使函数式程序设计听起来非常酷,你却从不敢放心的在真实生活中使用。我们被告知动态语言对脚步编程非常适合,不过它太慢一直于不能应用在真实生活中的项目。慢慢的我们开始相信了这些事情。

所有这一切在继续发生,直到几年前我参加了了来自Alexandar Stepanov的培训,我才认识到思维定势是不对的。他被认为称为通用编程之父,也是C++标准模版库(STL)的关键人物之一。比较有意思的是,他在培训中嘲笑了面向对象编程的整个前提-所有一切都是对象。他的观点是计算机技术是由数据应用算法组成的。因此算法应该放在首要位置,它才是编程的关键部分。他建议按照算法来思考问题,而不是按照对象。假若你曾经使用过C++的标准模版库,你可能已经注意到这一点。STL的整体并不是面向对象的。它讨论的是容器应用算法。STL代码看上去更像sort(v.begin(),v.end());而不是像在面向对象系统中所预期的那样:v.sort()。

感兴趣的读者,我强烈建议您看一下这篇文章中他的观点。

面向对象系统常常频繁的使用雇员、雇主、汽车和动物的例子来教给大家。我认为这些例子更适合于企业应用中。假若你在编写一个内核程序或正在写一个测试组件,对象可能没有什么实际意义。

随着我开始认真的使用函数式程序设计和动态语言来编写代码,我使用的它们越多,就越发感觉到它们使用起来是那么自然。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章