我想知道为什么有人会选择Com作为他的软件开发“技术”。
我第一个想法是机器/编程语言的独立性。
你呢?
我第一个想法是机器/编程语言的独立性。
你呢?
COM是Windows上自动化和IPC的事实标准(尽管.NET已经开始转移重点),因此有些领域你根本没有选择:
在.NET出现之前,几乎所有MS应用程序的自动化都是通过COM完成的,许多公司也沿用了这种方式。
此外,如果你愿意局限于Windows平台,DCOM是一项可靠且经过验证的分布式组件技术。
我的第一反应是——不要!!!如果可以避免使用COM/DCOM,就尽量避免。
当然,如果你需要与旧应用程序集成,那么你别无选择,但即使如此,也只使用COM来跨越托管/非托管边界。
如果旧应用程序的兼容性不是问题,那么请使用托管代码。.NET拥有COM所能提供的一切,甚至更多。而且,.NET代码的复杂性和稳定性远不及等效的COM代码。
我已经在Visual Studio集成方面工作了一段时间。最初都是COM,但微软逐渐将其各个部分转换为托管代码。基于MEF的新编辑器框架将必要代码的数量减少了数倍。而且不需要再去操作注册表。这真是一种解脱。