Microsoft COM规范更换?

时间:2012-03-05 19:39:23

标签: com

我知道COM实际上是一种编程方式(即结构化编程或OO编程)。然而它有点旧。所以我只是想知道真正取代这套规格的是什么?我会在.NET文档中找到它吗?

2 个答案:

答案 0 :(得分:1)

COM尚未更换。组件对象模型是Windows的核心部分,在可预见的未来仍将如此。

COM为您提供了一种进程间通信机制(在计算机上的应用程序之间进行通信),它也被用作共享dll的更简单(用于消费者)系统。它的COM(或ActiveX,或OLE - 完全相同)使VBA在MS Office中运行良好,它是ActiveX控件的基础。

COM不是一种编程方式(与OOP等不同),它是一种适用于Windows的技术,可以在运行时更轻松地访问其他应用程序。

.NET可以将COM对象与包装器一起使用,如果您希望允许任何应用程序访问您的功能,那么最好提供COM包装器。

现在存在其他inter app coms方法,例如ZeroMQ。

答案 1 :(得分:1)

COM的原始规范已经过时了,但规范和概念仍在使用中,您仍然可以创建和使用COM对象。

对于.NET,您可以从以下链接开始:

Com Interop Part 1: C# Client Tutorial (C#) @ MSDN
Interoperating with unmanaged code @ MSDN

此外,还有其他规范与COM非常相似或具有相同的语义。最值得注意的是,XPCOM在FireFox中用于其插件规范,也在内部用于FireFox以连接对象。

XPCOM @ MDN (Mozilla)

WinRT是即将推出的Windows平台更新,在COM概念中也很重要。

这里有一些有用的内容:Why is WinRT unmanaged @ StackOverflow

对于.NET开发人员,隐藏了许多声明性开销,如下所述:WinRT demystified - Miguel de Icaza

规范的负责人在这里:The Windows Runtime @ MSDN

在COM的上下文中,使用C ++开发WinRT组件有相似之处,尽管从托管C ++借用了一些语法:Creating Windows Runtime Components in C++ @ MSDN