COM ActiveX ATL

本文详细介绍了COM(组件对象模型)及其与ActiveX的关系。解释了COM作为一种编程规范,如何在Windows平台上简化了组件的开发与使用。进一步讨论了ActiveX作为COM的一种实现方式,如何在互联网环境下广泛应用。

COM是一种标准   一种编程规范,不过微软再windows中加了很多支持,简化了com编程和使用。
ActiveX是COM的一种实现    是com的一种应用方式而已
ATL是实现COM的好工具

 

ATL 即活动模板库,是一套基于模板的C++类,使用这些类可以容易地创建小型、快速的组件对象模型(COM)对象。   
    
COM是在其上生成ActiveX控件和OLE的基本“对象模型”。COM允许对象向其他组件和宿主应用程序公开其功能。它既定义对象如何公开自身,又定义此公开如何跨越多个进程和网络进行工作。COM还定义对象的生命周期。   
    
ActiveX   控件是基于组件对象模型   (COM)   的可重用软件组件,它支持广泛的   OLE   功能并可自定义以满足多种软件的需要。ActiveX   控件旨在用于普通的   ActiveX   控件容器和   Internet   上的万维网页。您既可以用此处介绍的   MFC   也可以用活动模板库   (ATL)   来创建   ActiveX   控件。   


---------------------------------------------------------------华丽的分割线-----------------------------------------------------------------
2011-11-18 补充编辑:
COM: Component Object Model          组件对象模型,是ActiveX和OLE的基础
ATL: Active Template Library         活动模板库,主要用作COM,是开发COM和ActiveX的类库
OLE: Object Linking and Embedding     对象的连接与嵌入(不同数据格式),基础还是COM
ActiveX:COM的一种,COM对象实现IDispatch一般可以称之为ActiveX,此外ActiveX一般具有界面。

简单点说,COM是基础,用COM SDK开发OLE 与 ActivexX。
ATL是开发库,取代COM SDK。

在ATL产生以前,开发COM组件的方法主要有两种:一是使用COM SDK直接开发COM组件,另一种方式是通过MFC提供的COM支持来实现。
首先ATL的基本目标就是使COM应用开发尽可能地自动化,这个基本目标就决定了ATL只面向COM开发提供支持。
其次,ATL因其采用了特定的基本实现技术,摆脱了大量冗余代码,使用ATL开发出来的COM应用的代码简练高效,即所谓的“Slim Code”。
第三,ATL的各个版本对Microsoft的基于COM的各种新的组件技术如MTS、ASP等都有很好的支持,ATL对新技术的反应速度大大快于MFC。ATL已

经成为Microsoft支持COM应用开发的主要开发工具,因此COM技术方面的新进展在很短的时间内都会在ATL中得到反映。这使开发者使用ATL进行

COM编程可以得到直接使用COM SDK编程同样的灵活性和强大的功能。

ActiveX是Microsoft提出的一组使用COM(Component   Object   Model,部件对象模型)使 
得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应
用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被 
用于方便地创建普通的桌面应用程序。
ActiveX既包含服务器端技术,也包含客户端技术。其主要内容是:
  *   ActiveX控制(ActiveX   Control);用于向WEB页面、Microsoft   Word等支持ActiveX 
的容器(Container)中插入COM对象。
  *   ActiveX文档(ActiveX   Document);用于在WEB   Browser或者其它支持ActiveX的容器 
中浏览复合文档(非HTML文档),例如Microsoft   Word文档,Microsoft   Excel文档或者用户自 
定义的文档等。
  *   ActiveX脚本描述(ActiveX   Scripting);用于从客户端或者服务器端操纵ActiveX控 
制和Java程序,传递数据,协调它们之间的操作。
  *   ActiveX服务器框架(ActiveX   Server   Framework);提供了一系列针对WEB服务器应 
用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。
  *   在Internet   Explorer中内置Java虚拟机(Java   Virtual   Machine),从而使Java   Applet
能够在Internet   Explorer上运行,并可以与ActiveX控制通过脚本描述语言进行通信。

---------------------------------------------------------------华丽的分割线 -----------------------------------------------------------------
2012-7-13 精简编辑:
利用COM规范 使用ATL开发库 编写出来的DLL   就是COM
跟用C++规范 使用C++开发库 编写EXE程序  一个球道理。
当然用COM的ActiveX规范 编出来DLL换成ocx  就是ActiveX  (一般ActiveX的文件名为OCX)

om+是在win2k下提出的,在组件服务中配置com组件,该com组件就成了com+,也是windows DNA 的基础com+ = com + MTS + MSMQ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值