组件对象模型的未来

时间:2020-03-06 14:43:24  来源:igfitidea点击:

有没有人听说过有关Microsoft在Windows的未来版本中不支持COM的信息?

我想微软的工程师会坚持使用它(即使他们只愿意开发和支持.NET框架)也仅仅是因为巨大的客户群会带来巨大的冲击。在野外肯定有数十亿行基于COM的东西。我知道我不希望被迫进入大规模移民,只是因为一些聪明的裤子超额完成建筑宇航员必须证明他是最伟大的……(嘘,他们为什么不只接受拳击?) 。

我怀疑自己只是偏执狂,但是谁能提供任何权威链接(Google找不到很多)?理想情况下,Microsoft的白皮书说" COM留在维也纳,否则!"会极大地安抚我的神经。

解决方案

他们之所以称其为.NET,是因为COM3被用作串行端口名称。 .NET是新的COM。从.Net公共语言运行时发布:

The name change from COM3 to COR to COM+ 2.0...to NGWS and finally to .NET.

主程序集称为mscorlib的原因是它代表Microsoft公共对象运行时库。

COM仍然是用于进程间通信的技术。看一下我们可以从另一个应用程序控制Word,Excel等的方式。 .Net无法替代它。

由于存在大量基于COM的遗留代码,我无法立即看到COM消失。出于同样的原因,我希望在可预见的将来看到Win32徘徊。没有人关心Windows之类的平台,他们关心其应用软件。

出于相同的原因,S / 360,S / 370,S / 390,zSeries和C / unix上的COBOL仍然是使用非常广泛的平台。

没有任何正式声明表明COM支持将从将来的Windows版本中删除。它在操作系统内部广泛使用。除非从头开始全面重写操作系统(我很快无法想象),可以肯定地假设COM会存在一段时间。

COM和.Net服务于不同的需求。只要有本机代码,就需要二进制组件化标准,即COM。即使从头开始重写了操作系统(也不会,也不会),出于性能和版本控制等原因,它仍将主要是本机代码。我们将很快需要发明一些类似COM的东西,那么为什么不保留经过测试并可以工作的东西呢?

所以总结一下:

COM将停留,因为:
1.从根本上来说是可行的
2.它处理进程间通信,与机器间通信不同。
3. .NET从COM继承了很多东西,但不是全部。
4.即使Microsoft自己仍然依靠它。

我想指出的是,如今在生产系统中仍然有成千上万的FORTRAN和COBOL生产线……因为它们从根本上起作用。

谢谢大家的回答... Mods,可以随时清理此对话响应,但是(IMHO)该站点可以很好地使张贴者公开感谢那些花时间响应的人。

干杯。基思

我很容易认为Microsoft世界从现在开始就是.NET,这要归功于其营销部门所做的出色工作,但是Microsoft始终支持他们的旧东西,他们实际上别无选择。

看一下MFC,他们已经发布了新软件包,RibbonBar仅在MFC上可用(因为Office是在其中开发的)。当然,随着时间的推移,他们将开始编写越来越多的.NET代码,越来越少的COM内容,但是他们仍然会支持它。

当Visual Studio中的COM开发功能消失时,它们将保留在原处,这是我们知道他们不再希望我们使用它的时候了。

我从Visual Studio项目经理那里读了一篇博客文章,他说他们收到了很多开发人员关于重点关注Crecently的投诉。他表示同意,并说Visual Studio的下一版本将主要集中在非托管C ++开发上。