COM组件和NET有什么不同?

COM组件和NET有什么不同?

问题描述:

1、我用VS2012 - MFC写的程序,设置下,就能在未装NET框架的XP使用,不是说windows操作系统的各版本内核不同,才推出的net框架吗?

2、COM和NET有什么不同之处?

3、学习COM现在还有用吗?如果我只想调用别人的COM组件,不想自己写COM组件是不是就不用学了?

4、如果还得学COM的话,因该学MFC自带的COM支持,还是学ATL库?

5、DLL不能代替COM思想吗?我听说COM是种思想,支持DLL。可DLL不也支持各种语言之间调用吗?为什么还需要COM呢?

6、COM和COM+有什么不同,COM+和NET有什么区别?

从Windows2000开始,内核都是一样的,只是版本不同。
。NET是上层应用,在系统API之上又封装了一层;
很多编程操作都简化了,但也同样失去了系统的API的灵活性;
COM组件依然有它的应用场景,只是越来越小了;
要学习COM组件的话,建议还是学习ATL;
COM,即组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。
COM+并不是COM的新版本,我们可以把它理解为COM的新发展,或者为COM更高层次上的应用。COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。有一种说法这样认为,COM+是COM、DCOM和MTS(Microsoft Transaction Server)的集成,这种说法有一定的道理,因为COM+确实综合了这些技术要素。但更重要的一点是,COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。
COM和COM+是二进制的文件,不依赖框架;。NET文件是中间码,需要框架解释执行。

net是一套平台框架,这样让你再Windows上面开发的程序可以方便发布到其它用户的Windows上。
而com是一套组件技术,实现接口开发。
com技术在Windows上还是使用很广,不如office,wmi等都有。
如果调用,那就简单,比较容易,而如果自己开发就要复杂多。
mfc,atl的都可以学习一下。
dll技术比com简单,所有使用更广,微软想推广com当初,但它技术门槛还是高了点,没dll使用广泛。
com一般是本地,com+是跨机器。

图片说明
为了回答你的问题,账户都封了。不敢贴文字,放在图里吧。