COM原理笔记之一 —— 概述篇

COM(组件对象模型,Compent Object Model)是Microsoft提出来的组件标准,它不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序进行所需要的环境。

一、两种进程模型:

进程内组件:以动态链接库的形式出现(.dll);

进程外组件:以可执行程序的形式出现(.exe);

进程内模型的优点是效率高,但组件不稳定会引起客户进程崩溃,因此组件可能会危及客户。

进程外模型的优点是稳定性好,组件进程不会危及客户程序,但效率相对较低。

二、组件软件与软件组织:

组件软件:是指按组件模型组合而得到的软件。

软件组织:是指构成组件软件的每个组件。

三、对象与接口:

对象是某个类(Class)的一个实例,而类则是一组相关的数据和功能组合在一起的定义。每个对象用一个128GUID来标识,称为CLSIDclass indentifer)类标识符或类ID

接口是一组逻辑上相关的函数集合,其函数也称为接口成员函数。每个接口用128位的全局唯一标识符(Globally Unique Identifier)来标识接口。

四、COM特性

1、语言无关性:

COM规范的定义不依赖于特定的语言,它所采用的是一种二进制代码级标准,而不是源代码级标准。

2、进程透明性:

COM库负责组件程序的定位,管理组件对象的创建和对象与客户之间通信,对用户来讲这是透明的。

3、可重用性:两种机制实现对象的重用

包容方式:对象1包含对象2,当对象1需要用到对象2的功能时,它可以简单地把实现交给对象2来完成。虽然对象1和对象2支持同样的接口,但对象1在实现接口时实现调用了对象2的实现。

聚合方式:对象1只需要简单地把对象2的接口递交给客户即可,对象1并没有实现对象2的接口,但它把对象2的接口也暴露给客户程序,而客户程序并不知道内部对象2的存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值