面向组件的语言和面向对象的语言有什么区别?

Emi*_*nem 15 oop com

我在一本关于WCF的书中遇到过这一行:

...用于编写COM组件的语言(例如C++和Visual Basic)最好是面向对象的,但不是面向组件的......

两者有什么区别?

pyf*_*unc 8

我的意见/理解可能是错误的,我会因为写这篇文章而陷入祸害.

面向对象"面向对象"意味着一种识别对问题上下文至关重要的关键数据模型的方法,以及操纵这些数据状态的相应方法,也是在问题的上下文中.这是一种组织数据的模式.另一种模式是简单地根据细分为可管理级别的功能进行组织 - 程序性.

面向组件的模式并不关心如何组织各种数据模型,而是如何将它们联系起来.那就是他们如何相互交谈.它可能有很多方面COM/RPC,Web服务(REST/SOAP)等.这是松耦合或紧耦合.

作者只是试图说COM功能是用一种不提供内置COM设施的语言构建的:)

我的理解是,该语句不正确,因为选择绑定组件,是一种比C/C++提供的语言更高级别的抽象.COM只提供了绑定组件的方法之一.