COM技术の组件

什么是COM

COM,Component Object Mode即组件对象模型。之所以称之为“模型”,是表明COM是一种编程规范(非具体代码),通过这种规范我们能够编写出语言无关的,可扩展的,内部变化对用户完全透明的,支持分布式的(对用户而言,远程与本地的COM组件使用应该是无差别的)代码。

COM组件

  • 遵循COM标准而编写出来的产物,叫做COM组件。它是COM标准的实现体。
  • 遵循COM标准,

一个COM组件可以看做一个接口集合(这里的接口不是一般意义上的函数,而是类似于类的东西)

  • 客户与COM打交道,只能够通过接口(即COM是一种面向接口编程,这最大程度上隔离了用户与具体实现,实现了可拓展性与对用户而言变化的稳定性),可以说,接口定义了COM。
  • 每个接口中有包含了若干函数,客户通过先获取接口,再调用函数来使用COM组件。
  • COM组件的构成可理解为 一个COM组件 包含 若干接口, 每个接口包含若干函数。

 对COM组件的要求

1、动态链接

COM的最终目标在于使用户在应用的运行过程中,可以动态的替换组件,这要求组件能够动态链接到程序中(如进程内组件,即有dll的形式实现)

2、封装性

COM的实现细节应封装,从而保证接口的稳定性,实现组件在应用中的动态替换。

为实现封装性,对组件有以下限制

(1)组件隐藏其使用的编程语言。及任何语言都应该能够使用COM。

(2)组件必须以二进制形式发布。为了隐藏COM的编程语言,它们必须是编译,链接好的,马上能够投入使用。

(3)组件的向下兼容性。即新版本的组件,不应该影响到老版本程序对其的使用。

(4)组件在网络上透明的。客户对本地COM与远程COM的使用应完全一致。

总结下,COM组件式以dll或exe形式发布的可执行代码组成。COM组件是动态链接的,具有客户透明的封装性。

COM不是什么

1、COM不是一种具体语言,而是一种编程规范。

2、COM不是的dll,COM的实现利用了dll的动态链接能力,但不是简单的等同。

3、COM不是函数集合。COM组件的功能远大与简单的函数集合。COM在向客户提供功能函数的同时,还提供了一系列线程同步策略(套间),事件回调机制(连接点)等。

COM库

COM不仅仅是一套规范,它确实也包含一些具体实现。COM库这一具体实现对所有的客户及组件提供了非常有用的组件管理

时间: 2024-10-13 13:37:36

COM技术の组件的相关文章

浅谈技术组件客户端的并发问题

最近在实现一个基于RabbitMQ的消息总线.因为它提供了Client(客户端),这里就牵扯到凡是技术组件的client都无法回避的并发问题.本文借实现消息总线的client谈谈在实现过程中的想法以及最终的处理方式,当然这些都不仅仅适用于消息总线的client,其他通用组件的client也同样适用. 并发问题的分类 其实上面所提到的并发问题,从大的层面上可以划分为两类问题: 自身固有的并发问题:这个存在的前提条件是client自身内部使用了多线程技术,并且本身就存在线程安全的缺陷. 被动调用的并

IAAS-虚拟化技术组件介绍

虚拟化技术组件涉及众多,下面对一些组件所处的层级以及定位做个简单的汇总介绍,部分信息来自于网络整理,如有不准确之处,请指正. 原文地址:https://www.cnblogs.com/hrbeu05/p/9030644.html

对.net技术组件的分析和选择

.net很庞杂,学习最忌讳什么?为了学而学,而不是为了用而学.我们不是为了成为教师,所以不要成为书呆子,不要成为"博士",要从庞杂的技术群中选择自己需要的内容进行学习. 如果不加选择,一股脑的去学,这种"参考书式"学习接触一堆信息,不假思索,结果只会培养一个万事知晓,却不擅长运用的人.要思考技术的构成,想想怎么运用组合,将零散的技术有机构成一个整体,这样才是有目的,为运用而学. 首先是语法类的技术要点分析.众所周知,算法+数据结构=程序,这个公式是最基础的概念,但是

Java Spring技术栈构建完整前后台团购网站

课程目录和下载地址: 第1章 课程整体介绍详细介绍了课程主要内容.背景,并对项目整体流程进行了简要说明,同时对整体需求进行了分析与规划.本章还有详细的项目演示,包括前后台全部功能,看了演示后对整体功能会有一个整体的认识,对于学习后续课程有很大帮助,也能在学习的过程中有的放矢,结合自己的实际情况确定学习的重点....第2章 项目整体设计方案本章主要从技术角度介绍了常用的技术选型的原则以及在技术选型中会遇到哪些陷阱,在此基础上阐述了什么才是恰当的架构设计.我们如果做恰当的架构设计.接下来介绍了项目的

大型网站技术架构-核心原理与案例分析-阅读笔记4

在第四章案例章节中的淘宝网的架构演化案例分析小节中作者主要分析了淘宝架构的演化,以淘宝网的实例给我们分析介绍了淘宝网的业务发展历程及淘宝网的技术架构演化两个方面,在业务发展中作者写到淘宝的技术是随着淘宝业务一起发展起来的,业务是推动这技术发展的动力,淘宝如今的规模和当初有很明显的变化,在技术架构演化中介绍了架构技术的更新升级,该章节中主要介绍淘宝网的发展的历程,在随着时间的发展不断中网站的架构不断的引用着新的技术,由最初简单的c2c更改过来的网站,放弃了lamp架构转而使用java作为开发平台并

谈笑风生组件化

在当今的前端开发领域,大红大紫的组件化开发如万人空巷,前端技术圈中关于组件化讨论的文章亦如汗牛充栋.然而别人的理解终归是别人的,作为一个胸存小志的开发者,我还是希望能够根据自己的理解和实际工作,总结自己对组件和组件化开发的认知. 在我第一次接触组件化概念时,一时迷迷糊糊,如坠云雾深处.组件是什么?组件化开发是什么?为什么大牛们知道这么多而我不知道?这应该并不是我个人的疑问,每一个除此接触概念的新手,都会有此疑惑. 为什么大牛们知道这么多而我不知道? 我曾经无数次为类似的问题而烦恼,也曾感到急躁难

Quora 用了哪些技术(转)

原文:http://dbanotes.net/arch/quora_tech.html 很多团队都在学习.研究 Quora .前段时间看到这篇 Quora’s Technology Examined ,阐述了 Quora 的技术架构,有一些值得关注的信息,记录并分享一下. 使用云计算服务 Quora 大量使用 Amazon EC2 与 S3 服务:操作系统部署的是 Ubuntu Linux,易于部署和管理:静态内容用 Cloudfront.服务分发,图片先传到 EC2 服务器,使用 Pyhon

读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么东西融合得更为紧密,那就是自然.在最深的层次上,人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 如今机器被用来生产机器了,同时它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合,还来自于对自然现象的捕捉和征服.在 ========== - page 44 技

读书笔记:技术的本质-技术是什么,它是怎样进化的 (布莱恩?阿瑟)

读书笔记算不算原创? - page 30 然而.作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其它什么东西融合得更为紧密,那就是自然. 在最深的层次上.人的存在应该和自然,和我们最初的环境,以及最初使我们成为人的那些条件相融合. ========== - page 36 现在机器被用来生产机器了,同一时候它又变成了以后同类机器的父母. ========== - page 43 技术的建构不仅来自已有技术的组合.还来自于对自然现象的捕捉和征服.在 ========== - page 4