当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

面向类设计和面向对象设计

发表于: 2012-02-02   作者:bookjovi   来源:转载   浏览:
摘要:     读了孟岩的function/bind的救赎(上),写的太好了,把面向对象设计和面向类设计的区别说的通俗易懂。     文章中比较了C++、Java、C#、smalltalk的OO设计理念,C++/Java/C#的流行让很多人扭曲了对面向对象的理解,确切的说C++/Java更多的是面向类设计,都是基于simula的思想,smalltalk的OO思想才

    读了孟岩的function/bind的救赎(上),写的太好了,把面向对象设计和面向类设计的区别说的通俗易懂。

    文章中比较了C++、Java、C#、smalltalk的OO设计理念,C++/Java/C#的流行让很多人扭曲了对面向对象的理解,确切的说C++/Java更多的是面向类设计,都是基于simula的思想,smalltalk的OO思想才是历史性的跨越。说白了就是静态消息机制和动态消息机制的区别。

    文章后有个comment很有意思:

>>>

OOP语言的用类型作为接口的实现手段,是它们烦恼的根源。用一个类型代表一组类型,天生就会引发悖论。接口必须是独立于类型的实体。
OOP本身的问题在于,把所有的东西都作为对象,那么谁来处理对象间的关系?当然可以创建负责处理对象关系的对象,但这样不是将问题复杂化了么?软件需要准确地模拟现实世界,但编程不应如此。
另外,从实践出发,实现标准OOP消息的语言只能动态化,没有了类型检测,大量错误被推迟到运行时发现,对于程序质量有很大的影响。对于web或界面程序问题不大,但对于服务级和系统级软件是个大麻烦。

 

    期待孟岩的function/bind的救赎(下)...

 

 

 

面向类设计和面向对象设计

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号