是/曾经是微软';s COM被认为是一种好的/有用的技术?

是/曾经是微软';s COM被认为是一种好的/有用的技术?,com,Com,我的经验是,它是一个完全混乱的系统,并导致非黑带Windows开发人员难以诊断和修复的问题 什么样的用例使COM大放异彩?很难将一个产品称为最流行的操作系统之一的主干,如果它的应用程序不是有用的,那么它就是大多数 很难将一个产品称为最流行的操作系统之一的主干,如果它不是有用的应用程序,那么它就是大多数< P>已被.NET所取代,但COM仍然可以写在较低级别的MFC/ATL C++中,人们只使用COM编写高性能应用程序,其中每个CPU周期计数,可能是DirectX、游戏应用程序、硬件接口等。但CO

我的经验是,它是一个完全混乱的系统,并导致非黑带Windows开发人员难以诊断和修复的问题


什么样的用例使COM大放异彩?

很难将一个产品称为最流行的操作系统之一的主干,如果它的应用程序不是有用的,那么它就是大多数

很难将一个产品称为最流行的操作系统之一的主干,如果它不是有用的应用程序,那么它就是大多数< P>已被.NET所取代,但COM仍然可以写在较低级别的MFC/ATL C++中,人们只使用COM编写高性能应用程序,其中每个CPU周期计数,可能是DirectX、游戏应用程序、硬件接口等。但COM仍然可以写在较低级别的MFC/ATL C++中,人们只使用COM编写高性能应用程序,其中每个CPU周期计数,可能是DirectX,游戏应用程序,硬件接口等。

< P>实际上,它已经被广泛使用。许多相互集成和交互的应用程序依赖于COM技术。我想即使是.NET库也会将自己注册为COM


至于这一团糟,我不同意。这很复杂,但没有混乱。当然,你需要对OO、接口、指针、低级编程以及大脑模型做一个很好的理解,这是一个优秀的C++程序员。许多相互集成和交互的应用程序依赖于COM技术。我想即使是.NET库也会将自己注册为COM

至于这一团糟,我不同意。这很复杂,但没有混乱。当然,你需要对OO、接口、指针、低级编程以及大脑模型的理解,这是一个优秀的C++程序员。

com提供了本地(对象到对象)和远程(机器对机器,进程到进程)的通信,这些信息都是透明的。只要稍加注意,您的代码就可以很好地处理托管在同一内存空间中的对象,从而跨越互联网

虽然这种抽象有它的问题(不同情况下的动态非常不同),并且二进制格式的使用对互操作性提出了挑战,但它确实起到了作用。并且工作得很好(考虑所有启用了Visual Basic的业务线应用程序)。

COM提供了本地(对象到对象)和远程(机器到机器,进程到进程)通信,基本上是透明的。只要稍加注意,您的代码就可以很好地处理托管在同一内存空间中的对象,从而跨越互联网


虽然这种抽象有它的问题(不同情况下的动态非常不同),并且二进制格式的使用对互操作性提出了挑战,但它确实起到了作用。并且工作得很好(考虑所有支持Visual Basic的业务线应用程序)。

COM仍然广泛应用于GIS应用程序中。它是一些应用程序的主干,例如ArcMap(ESRI)及其巨大的空间对象编程API

正如大家所说,这很复杂,但一旦你掌握了一些关键概念,就更容易为之开发


.NET支持COM对象。

COM仍然广泛应用于GIS应用程序中。它是一些应用程序的主干,例如ArcMap(ESRI)及其巨大的空间对象编程API

正如大家所说,这很复杂,但一旦你掌握了一些关键概念,就更容易为之开发


.NET支持COM对象。

虽然不是为它设计的(当然),但COM已成为将本机代码(如C++)与.NET进行接口的最佳方式。

虽然不是为它设计的(当然),COM已成为连接本机代码(如C++)的最佳方式与.NET一起使用。

COM这个名字或实际上是OLE这个名字总是让我恼火。因为我没有将其视为对象技术-COM对象无法继承!我以为这是一种包装技术。。。。但M$使用了“对象”这个名字,使它看起来比实际情况更像


同时可用的其他技术,如NeXT的便携式分布式对象,使它看起来很原始。

COM或OLE这个名字总是让我感到恼火。因为我没有将其视为对象技术-COM对象无法继承!我以为这是一种包装技术。。。。但M$使用了“对象”这个名字,使它看起来比实际情况更像

同时可用的其他技术,如NeXT的便携式分布式对象,使它看起来很原始

什么是使COM发光的用例

不同语言间的互操作(如C++和Visual Basic)< /P> 不同进程之间的互操作(例如OLE,在Word文档中嵌入Excel电子表格)

不同供应商之间的互操作(例如,如果您想编写一个插入Windows资源管理器的shell扩展,您可以使用COM来实现,因为资源管理器为它将要调用的扩展声明了一个COM接口)

什么是使COM发光的用例

不同语言间的互操作(如C++和Visual Basic)< /P> 不同进程之间的互操作(例如OLE,在Word文档中嵌入Excel电子表格)


不同供应商之间的互操作(例如,如果您想编写一个插入Windows资源管理器的shell扩展,您可以使用COM,因为资源管理器为它将要调用的扩展声明了一个COM接口)。

大多数问题是由于开发人员不真正理解COM。
但是COM很难理解,微软不得不重新设计另一个类似的平台,即.Net。

大多数问题都是因为开发人员并不真正理解COM。 日分