【发布时间】:2023-03-16 15:05:01
【问题描述】:
我想知道为什么有人会选择 Com 作为他的软件开发“技术”
我的第一个想法是机器/编程_语言独立
你的是什么?
【问题讨论】:
-
我认为现在使用 COM 的唯一正当理由是使用遗留的东西。如果我错了,请纠正我,但 .NET 不能取代 COM?
-
曾经尝试在本地应用程序中使用 .Net? ;)
我想知道为什么有人会选择 Com 作为他的软件开发“技术”
我的第一个想法是机器/编程_语言独立
你的是什么?
【问题讨论】:
COM 是 Windows 上自动化和 IPC 的事实标准(尽管 .Net 已经开始转移焦点),因此有些领域您根本没有(或没有)选择:
在 .Net 事件之前,几乎所有 MS 应用程序的自动化都是通过 COM 实现的,而且相当多的公司也搭上了这列火车。
如果您愿意将自己限制在 Windows 上,DCOM 也是一种可靠且经过验证的分布式组件技术。
【讨论】:
COM 的主要优势在于它是一种广泛适用的互操作技术。
【讨论】:
正如 gf 所说,人们将其用于自动化。此外,Windows 的大部分内容只能作为 COM 对象访问。 DirectX 就是一个例子。
【讨论】:
我的第一个想法是——不要!!!如果你能远离 COM/DCOM。
当然,如果您需要与旧版应用程序集成,您将别无选择,但即便如此,也只能使用 COM 来跨越托管/非托管边界。
如果旧版兼容性不是问题 - 保持管理。 .NET 拥有 COM 可以提供的一切,还有一些。 .NET 代码的复杂性和稳定性是等效的 COM 代码无法比拟的。
我使用 Visual Studio 集成已经有一段时间了。最初它都是 COM,但 MS 慢慢将它的各个部分转换为托管。基于 MEF 的新编辑器框架将必要的代码量减少了几个数量级。并且没有弄乱注册表。这样的解脱。
【讨论】: