控件:是编程中用到的,按钮就算是一个控件,窗口也是等等
组件:是软件的一部分.软件的组成部分.
插件:网页中用到的,flash插件,没有它浏览器不能播放flash.
首先范围最广的应该是组件,英文component,提起组件我们不应该把他和具体的技术,什么dll文件,ocx控件,activex等等联系起来,因为组件仅仅是一个概念,如果非要解释的话,那就是凡是在软件开发中用到了软件的复用,被复用的部分都可以称为组件。构件的英文也是component,所以说构件和组件其实是一个意思只是翻译的不同而已。
其实我认为最有意思的应该是插件,顾名思义,“插件”是允许我们动态插入的,而不是在编程的时候静态的写入的,这就是与普通的组件的区别,因为普通的组件是在编程的时候引入的。我们以硬件为例子,例如USB接口,主机设定了标准的接口,而不必考虑外部接口具体是什么设备只要这种设备实现主机提供的接口,两者就可以通讯。这种插件有个最大的优点就是即插即用,即支持动态的插入。
插件是组件(构件)的一种,我们可以这样给插件进行定义,那就是凡是在应用程序中已经预留接口的组件就是插件,例如:java中jdbc技术,jdbc只是一个接口,任何一个插件制造商只要实现这个接口都可以被java平台所使用。我们还可以拿IE插件作为例子,IE中之所以可以嵌入很多的应用程序,那是因为IE允许他们插入,说的明白一点,那就是在IE的源程序中已经为这些应用程序预留了接口,只要把通知浏览器已经加载了什么插件,浏览器就会调用预留的接口调用这些所谓的插件。
当然控件也是组件(构件)的一种,按照网上的说法,控件就是可视化的组件,我也同意这种说法,其实再从普通组件中分解出控件完全是没有必要的,因为对于开发人员来讲,可不可视对于非软件人员来说可能很重要,但是对于软件人员来说又有什么区别呢?
组件、控件和插件的区别
一、 概念
A、 组件
系统中一种物理的、可代替的部件、它封装了实现并提供了一系列可用的接口。一个组件代表一个系统中实现的物理部分,包括软件代码(源代码,二进制代码,可执行代码)或者一些类似内容,如脚本或者命令文件。简而言之,组件就是对象,是对数据和方法的简单封装。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
B、 控件
控件是对数据和方法的封装。控件可以有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。
C、 插件
插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。
二、 区别
A、 组件与控件
一般把Control翻译成控件,把Component翻译成组件。控件就是可视化的组件。
asp组件一般来说是以DLL为后缀的文件。它允许使用者根据不同需求来调用系统COM组件,以完成所要达到的目的。常用的有:上传组件、Email组件、统计组件、文件管理组件等。在asp中调用前须先把组件注册到系统里。
控件例如有ActiveX控件、Windows公共控件等。
B、 组件与插件
组件和插件的区别是,插件是属于程序接口的程序,组件在ASP中就是控件、对象,ASP/IIS的标准安装提供了11个可安装组件。ASP的FSO组件,就是最常用的Scripting.FileSystemObject对象
IE浏览器常见的插件例如:Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等等
三、 说明
想要弄清楚组件、控件和插件三者的区别,在网上搜了搜,并没有搜到清晰明确的说明,简单整理了一下,由于水平和理解有限,有什么问题或者缺少的内容,欢迎拍砖,后续理解的比较好了之后,也会不断更新的。