被这几个概念折磨了将近半年,网上没有一篇文章从头到尾把这些技术和框架的关系理个清楚,我整个人比较懒,但实在是怕自己忘,必须写下来才安心。
这个假期可能对比着看了能有几百个网页吧,也找了几本权威的书,写下的应该是比较有把握,如果有说的不对的地方,还麻烦高人指教
从体系结构角度讲,OLE和ActiveX都是建立在COM技术之上的,而.NET框架发展自COM技术,一定程度上汲取了COM的优点,并克服了其主要缺点。
从时间的角度讲,在这四者中,首先出现的其实是OLE技术,然后是COM技术,然后是ActiveX,最后是.NET。
OLE技术的萌芽
作为COM技术前身的OLE,其最初含义是指在程序之间链接和嵌入对象数据(Object Linking and Embedding)。它提供了建立混合文档的手段(资深Windows3.X用户可能记得当初在Word6.0中插入一个图形的新奇和喜悦,有关复合文档,后面文章详细讲述),使得那些没有太多专业知识的用户能够很容易地协调多个应用程序完成混合文档的建立。
1991年制定的OLE1.0规范主要解决多个应用程序之间的通信和消息传递问题,微软希望第三方开发商能够遵守这个规范,以使在当时的Windows平台上的应用程序能够相互协调工作,更大的提高工作效率。然而事与愿违,只有很少的软件开发商支持它。