jianpingdu2009的专栏

程序员日志

控件、组件、插件、COM、ActiveX

控件(Control)

控件是一些做好的供你用的可视化的对象,就是具有用户界面的组件,是用户可与之交互以输入或操作数据的对象,它是连接用户和系统之间的通道。

 

要说的具体一点,就得回顾早期 Windows 的历史根源,当时控件指任何子窗口——按钮、列表框、编辑框或者某个对话框中的静态文本。从概念上讲,这些窗口、控件类似用来操作收音机或小电器的旋钮和按钮。随着控件数量的增加(组合框、日期时间控件等等),控件逐渐成为子窗口的代名词,无论是用在对话框中还是用在其它种类的主窗口中。没过多久 BASIC 程序员开始编写他们自己专用的控件,自然而然地人们便想到共享这些控件。

 

共享代码的方法之一是通过磁盘拷贝,但那样显然效率低下。必须要有一种机制使开发者建立的控件能够在其它程序员的应用中轻而易举地插入,这便是VBA控件,OLE控件,OCX和最后ActiveX 控件的动机。

这就是控件和组件之间产生混淆之所在。因为为了解决控件的可复用问题,所有这些技术必须首先解决更为一般的组件重用问题。(COM,如果你还记得它的话,意思是组件对象模型)。在软件行话中,组件这个术语指任何可复用的对象或任何可与其它对象交互的代码体。子程序的发明,曾经一度成为程序员趋之若鹜的软件工程圣杯:一种统一的编程理论,它使程序员从基本构建块——也就是用所选语言编写的各种组件建立大型系统。从子程序演变到OOP,到DLLs,再到COM,再到.NET框架的每一种新的编程范例都代表了一种不同的提供可重用性的方案。VBX使用DLLs的固化名称。COM使用接口和IUnknown。.NET框架使用微软的中间语言(MSIL)层和公共语言运行时(CLR)来提供统一的粘合。

 

因此,控件是组件的一个主要样本(并且历史上曾驱动着组件的开发),控件又不仅仅是唯一的一种组件。组件不需要显示任何信息或用户界面。组件可能实现科学计算,收集性能数据,计算1971年1月1日到现在的毫秒数,仰或是读取布什总统竞选活动保险箱里的美金数。

ActiveX:一种其他厂家或编制者生产的自定义的控件。


------------------------------------------

组件(Component)

组件包括控件,还有一些类。

------------------------------------------

插件

是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。

 

根据插件在浏览器中的加载位置,可以分为工具条(Toolbar)、浏览器辅助(BHO)、搜索挂接(URL SEARCHHOOK)、下载ActiveX(ACTIVEX)、Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等等;再比如Winamp的DFX,也是插件。还有很多插件都是程序员新开发的。

 

组件和插件的区别是,插件是属于程序接口的程序,组件在ASP中就是控件、对象,ASP/IIS的标准安装提供了11个可安装组件。ASP的FSO组件,编程的朋友都如雷贯耳吧,它就是最常用的Scripting.FileSystemObject对象。

 

ActiveX插件也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。在因特网上,ActiveX插件软件的特点是一般软件需要用户单独下载然后执行安装,而ActiveX插件是当用户浏览到特定的网页时,IE浏览器即可自动下载并提示用户安装。

 
ActiveX插件安装的前提是必须先下载,然后经过认证,最终用户确认同意方能安装,因此嵌有ActiveX脚本程序的页面可能会变得非常慢,甚至导致浏览器瞬间失去响应。 

------------------------------------------

COM

组件对象模型(COM , Component Object Model)

COM是二进制标准的Windows对象,这这意味着对象可以执行描述另一对象的可执行代码。

COM组件应该是一种组件标准,是一种协议,使不同厂家生产的activex控件能互用,一般的ActiveX组件符合这一标准(但不绝对都是,也有些可能不是)。COM组件除了能用VB编写外Java,C++等一些语言都能写符合标准的COM组件。

------------------------------------------

COM是一整套规范,组件是按照COM规范所形成的应用程序的通称。控件和ActiveX表示的是同一类事物,它们是支持一系列MS定义好的接口的组件,插件和上面的不太相干,虽然有很多插件也是组件。

简单说来呢,这好比一棵树,COM是树根,组件是树干,控件和ActiveX都是树枝,插件就是树上引来的一只鸟。

阅读更多
想对作者说点什么? 我来说一句

COM组件ActiveX个人总结-14.07.01

2016年06月14日 1.86MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭