读书人

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

发布时间: 2012-12-22 12:05:06 作者: rapoo

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

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

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

? ? 文章后有个comment很有意思:

>>>

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

?

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

?

?

?

读书人网 >编程

热点推荐