COM的理解

来源:互联网 发布:用php画环形统计图 编辑:程序博客网 时间:2024/05/18 03:43

    COM是Component Object Model (组件对象模型)的缩写,它为开发人员提供的是一种开发与语言无关的组件库的方法,但COM本身并没有提供任何实现,可以把它看作是一种组织软件的一种方法。也就是说,实际上我们可以在任何操作系统上使用任何变成语言按COM风格进行编程。

    COM组件的历史

    那么就从OLE说起,自从Windows操作系统流行以来,“剪贴板”( Clipboard)首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开 发者得自行编写、解析数据格式的代码,于是动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的 负担。对象的链接与嵌入(Object Linking and Embedded,OLE)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用 彼此的数据内容,其实OLE是Microsoft的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本OLE2中,导入了COM。由此可见, COM是应OLE的需求而诞生的,所以虽然COM是OLE的基础,但OLE的产生却在COM之前。 COM的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。COM是应OLE 的需求而诞生,但它的第一个使用者却是OLE2,所以COM与复合文档间并没有多大的关系,实际上,后来COM就作为与复合文档完全无关的技术,开始被广 泛应用。这样一来, Microsoft就开始“染指”通用平台技术。


两个测试链接

http://blog.csdn.net/woshinia/article/details/22300089

http://www.cnblogs.com/lin1270/archive/2013/04/02/2997042.html

1 0
原创粉丝点击