C++ COM编程之什么是组件?
什么是组件?
一个组件同一个微型应用程序类似,即都是已经编译、链接好并可以使用的了,应用程序就是由多个这样的组件打包而得到的。各定制的组件可以在运行时同其他组件连接起来以构成某个应用程序。在需要对应用程序进行修改或改进时,只需要将构成此应用程序的组件中的某个用新的版本替换掉即可。
COM组件
COM,即组件对象模型,是一个说明如何建立可动态互变组件的规范,它提供了为保证能够互操作,客户和组件应遵循的一些标准。
COM组件是以Win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码。COM组件必须满足以下条件:
1.COM组件是完全与语言无关的;
2.COM组件可以以二进制的形式发布;
3.COM组件可以在不妨碍老客户的情况下被升级;
COM组件可以透明的在网络上被重新分配位置。
使用组件的优点
1.应用程序定制
组件架构从本质上讲就是可被定制的,因用户可以用更能满足他们需要的组件来将某个组件替换掉;
2.组件库
组件架构最引人注目的优点之一是快速应用程序开发。这一优点可以使开发人员从某个组件库中取出所需要的组件并将其快速地组装到一块以构造所需的应用程序,如同搭积木块一样;
3.分布式组件
组件架构可以使得开发这类分布式应用的过程得以简化。实际上,客户机/服务器式的应用就是向组件架构跨出的第一步。在那里整个应用程序被分成两部分:客户机部分及服务器部分。
总结
COM提供了编写组件的一个标准方法。遵循COM标准的组件可以被组合起来以形成应用程序。至于这些组件是谁编写的、如何实现的都是无关紧要的。每一个COM组件均可同其他组件一起使用。实现这种可动态改变组件的关键问题是信息的封装。对于封装,COM是通过组件和客户之间的连接或接口来实现的。对于接口,我下篇博文进行总结。