VC++/MFC学习笔记(六)

简介:   总在很多地方看到COM的相关的东西,但是一直以来对COM的理解只是局限于知道它的全称:Component Object Model。为此,专门读了一下《COM技术内幕》的第一章,力求先对COM有一个初步的了解,随着学习的深入,肯定会进一步对COM进行研究。
 

总在很多地方看到COM的相关的东西,但是一直以来对COM的理解只是局限于知道它的全称:Component Object Model。为此,专门读了一下《COM技术内幕》的第一章,力求先对COM有一个初步的了解,随着学习的深入,肯定会进一步对COM进行研究。

 

COM是什么?

COM是一个说明如何建立可动态互变组件的规范。它提供了为保证能够互操作,客户和组件应遵循的一些标准。

COM规范就是一套为组件架构设置标准的文档。遵循COM规范编写的组件能够满足对组件构架的所有需求。

COM组件是以Win32动态链接库(DLLs)或可执行文件(EXEs)的形式发布的可执行代码组成的。COM组件是动态链接的,必须还是封装的。

 

COM不是什么?

COM并不是一种计算机语言。

COMDLL相比或相提并论也是不合适的。实际上COM是使用了DLL来给组件提供动态链接的能力。除了支持COM组件以外,在其他地方一般不会用到DLL

COM不是像Win32 API那样的一个函数集。COM更主要的是一种编写能够按面向对象API形式提供服务的组件的方法。COM给开发人员提供的是一种开发与语言无关的组件库的方法,但COM本身没有提供任何实现。

 

COM

COM具有一个被称作是COM库(COM Library)的API,它提供的是对所有客户及组件都非常有用的组件管理服务。

 

COM方法

我们可以将COM作为一种编写程序的方法。

 

COM使用DLL来提供可在运行时被替换掉的组件。COM借助于以下一些手段保证这些组件可以充分利用动态链接所带来的各种好处:

提供了一个所有组件都应该遵守的标准。

允许使用组件的多个不同版本,而且这一点对于用户而言几乎是透明的。

使得可以按相同的方式来处理类似的组件。

定义了一个与语言无关的架构。

支持对远程组件的透明链接。

参考文献:《COM技术内幕》  Rogerson.D  杨秀章译

目录
相关文章
|
3月前
|
C++
c++学习笔记07 结构体
C++结构体的详细学习笔记07,涵盖了结构体的定义、使用、数组、指针、嵌套、与函数的交互以及在结构体中使用const的示例和解释。
39 0
|
2月前
|
安全 C语言 C++
C++学习笔记
C++学习笔记
|
3月前
|
C++
c++学习笔记02 运算符
C++学习笔记,介绍了C++中的运算符,包括基本的加减乘除、求模、前后置递增递减、赋值运算符、比较运算符和逻辑运算符的使用及其注意事项。
40 6
|
3月前
|
C++
c++学习笔记01 基本知识与数据类型
C++学习笔记,涵盖了C++中的常量定义、数据类型、变量内存大小计算、基本数据类型(整型、实型、字符型、字符串型、布尔型)以及转义字符的使用。
46 4
|
3月前
|
算法 C++
c++学习笔记04 数组
这篇文章是C++学习笔记4,主题是数组。
43 4
|
3月前
|
C++
【学习笔记】【C/C++】 c++字面值常量
【学习笔记】【C/C++】 c++字面值常量
39 1
|
3月前
|
存储 C++
c++学习笔记05 函数
C++函数使用的详细学习笔记05,包括函数的基本格式、值传递、函数声明、以及如何在不同文件中组织函数代码的示例和技巧。
34 0
c++学习笔记05 函数
|
3月前
|
编译器 C++
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
46 0
|
3月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
40 0
|
3月前
|
C++
c++学习笔记09 引用
C++引用的详细学习笔记,解释了引用的概念、语法、使用注意事项以及引用与变量的关系。
43 0