5

我的问题是针对熟悉 COM 的开发人员。我目前正在写我的大学论文,其中部分是关于 Microsoft COM 的。

  1. 除了遗留代码之外,COM 今天仍然用于其他目的吗
  2. 每个人都说 COM 已经过时了。为什么新的 Windows 运行时是“增强的”基于 COM 的 API?“增强”这个词是什么意思
  3. 与 .NET 相比,COM 是否有任何显着的优势,反之亦然
  4. 任何可以了解更多关于 COM 和 .NET 互操作以及它是如何工作的建议的建议

请尽可能用事实支持你的回答!谢谢你。

4

2 回答 2

6
  1. 是的。

  2. COM 仍然是 Windows 工作方式的核心。只要 C 风格的 api 不够用,COM 就是公开对象模型的下一步。是的,商店应用程序是 COM 服务器。

  3. COM 是本机代码,它增加的开销很少,并且几乎可以从任何移植到 Windows 的语言中使用。

  4. 访问 amazon.com 搜索书籍,阅读评论。

不必了解 COM 即可编写在 Windows 上运行的程序。做了很多工作来包装它并使它更友好。存储语言运行时中的语言预测是值得注意的,可见底层 COM 代码的痕迹非常少。将其降级为与学习汇编语言编程相当的状态。

于 2013-10-19T19:35:41.883 回答
0

微软为引入语言互操作性而开发的基于组件的模型。要了解 COM,我们首先要了解 COM 概念进入 .Net 时的场景。我们知道,在面向对象的概念中,代码在同一应用程序中的可重用性,但无论如何,如果我想从其他不同语言的应用程序调用任何类的函数,那么这是不可能的。面向对象的另一个缺点是,在软件开发之后,任何类都需要进行任何更改,然后整个应用程序需要重新构建并再次部署到客户端机器上。实际上问题在于,在这种情况下,我们获得了特定应用程序的可重用性,而不是整个应用程序级别。您可以在此处阅读有关 COM 的更多信息:基于组件的模型

于 2016-10-01T04:45:19.483 回答