第一章
概述
1
、组件的设计的原始目的
跨平台、
跨网络、积木式搭建程序
2
、组件的两个规范:CORBA
和COM
OMC(Object Management Group,对象管理组织)的CORBA(Common Object Request Breaker
Arehitecture ,公共对象请求中介体系结构)。
Microsoft的
COM(Component
Objedt Model,组件对象模型)。
3
、COM
的定义
COM是由Microsoft提出的组件标准,他不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序运行所需的环境。
4
、COM
的分类
进程内组件(DLL ,in-process component)。客户程序和组件程序在同
一进程空间。
进程外组件(EXE ,out –of-process component)。客户程序和组件程序不在同
一进程空间。
5
、COM
跨语言原因
COM对象是建立在二进制可执行代码级的基础上,而C++等语言中的对象是建立在源代码级基础上的。
6
、COM
技术的应用
OLE(Object Linking and
Emnedding ,对象链接和嵌入)技术,它所表达的是复合文档(Compound Document )的概念。
ActiveX技术。
7
、COM
的组件、对象、接口的关系
8
、COM
的基本概念
对象:相当于C++中对象的概念,对象是某个类的一个实例
客户:使用对象的应用(或另一个对象)称为客户,或对象的用户。
接口:一组逻辑上相关的函数集合,其函数也被称为接口成员函数。通常以“I”为前缀。
9
、COM
接口使用说明
在
COM模型中,对象本身对于客户来说是不可见的,客户请求服务时,只能通过接口进行。每个接口都由一个128位的全局唯一标识符(GUID ,
Gloally Unique Identifier)来标示。客户通过GUID获得接口的指针,在通过接口指针,客户就可以调用其相应的成员函数。
一般来说,接口是不变的。因为对象可以包含多个接口,所以组件对象的升级可以通过增加接口的方法来实现。
10
、COM
对象的说明
与接口类似,每个对象也用一个128位的GUID来标识,称为CLSID(Class Identifier,类标识符或类ID)。
11
、COM
库的说明
在Microsoft Windows操作系统环境下,
COM
库以 .
dll 文件的形式存在。
COM
库一般步在应用程序
层实现,而是在操作系统层次上实现,因此一个操作系统只有一个
COM
库实现。
12
、COM
的特性一:面向对象的特性。
13
、COM
的特性二:客户/服务器特性。
15
、COM
的特性四:进程透明特性
两类进程模型:进程内对象和进程外对象。进程内对象在客户进程空间中运行,效率高,但不稳定;进程外对象运行在同一机器上的另一个进程空间或者在远程机器的进程空间中。组件对象服务程序分类:进程内服务程序、本地服务程序、远程服务程序。
16
、COM
的特性五:可重用性
COM标准建立在二进制代码级的基础上是其与面向对象语言中的对象的重用过程不同。
COM用两种机制实现对象的重用:包容方式和聚合方式。
17
、OLE
技术的焦点集中在解决桌面环境中应用程序之间如何进行交互,包括数及交换和界面交互。
18
、COM
与Windows
操作系统
16位平台中
COM的使用并不完善,32位平台中,很多系统部件都以
COM形式实现。比如:DirectX多媒体软件包、RDO(Remote Data Object ,远程数据对象)和DAO(Data Access Object ,数据访问对象)数据库访问对象库、Internet Client SDK、MAPI(Messaging API ,消息应用编程接口)、ADSI(Active Directory Service Interface ,活动目录服务接口)
19
、COM
与数据库
Microsoft推出的数据库访问
对象库有RDO、DAO、OLE DB、ADO。
20
、COM
与Internet
应用
21
、COM
与Internet
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=638755