高灰白话Com组件

 什么是Com组件,首先给出百度百科的解释

COM component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块。

 简单的说就是微软搞出来的一种软件开发技术。这种软件开发技术的好处之一就是机器码级别的代码共享。

这个世界上有很多用不同的语言写程序的程序员,但不管是什么语言最终是被转化成机器可以识别的二进制代码来给计算机执行,所以机器码级别的代码共享就可以跨越开发语言的界线。

那么如何共享呢?

先举一个例子,还是造车的例子。如果我们要造一辆车,可能我们会需要很多的零件比如:发动机,轮子等。如果这个世界上已经有一个团队会造轮子了我们就可以把造轮子这个工作交给他们来做,其它的也是。我们不会去管他们用什么材料来制造这个轮子,也不会去管他们加工这样的轮子会用到哪些设备,我们要管的只是你造的这个轮子我们可以拿来用,可以安装到我们的最终产品-------汽车上。

Com组件与此类似。无论你是用什么语言编写的组件,我在调用的时候只是想得到我所需要的一个实例,通过这个实例我就可以完成我需要的功能。

在Windows下编程的同学可能会知道,dll里面可以导出很多的函数,我们只需要知道函数名就可以进行调用(Windows api就是这么干的)。如果我们在一个dll中实现了一个类,而在另外一个地方需要用到这个类,那我们是否可以在导出函数中增加一个函数,并且在这个函数中实例化这个类,最后返回一个指针给调用者。如此一来调用都就可以使用这个类了。如果调用这个类的方法和如何传递参数就是一些细节问题了。

可以远程

基于上面所说的,如果我在两台计算机间有一个可靠的通讯协议,我甚至可以在互联网上共享代码了不是吗!没错,Com组件可以做到这一点。



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 6948