組件、插件、控件的區別
控件:是編程中用到的,按鈕就算是一個控件,窗口也是等等
組件:是軟件的一部分.軟件的組成部分.
插件:網頁中用到的,flash插件,沒有它瀏覽器不能播放flash.
首先范圍最廣的應該是組件,英文component,提起組件我們不應該把他和具體的技術,什么dll文件,ocx控件,activex等等聯系起來,因為組件僅僅是一個概念,如果非要解釋的話,那就是凡是在軟件開發中用到了軟件的復用,被復用的部分都可以稱為組件。構件的英文也是component,所以說構件和組件其實是一個意思只是翻譯的不同而已。
其實我認為最有意思的應該是插件,顧名思義,“插件”是允許我們動態插入的,而不是在編程的時候靜態的寫入的,這就是與普通的組件的區別,因為普通的組件是在編程的時候引入的。我們以硬件為例子,例如USB接口,主機設定了標准的接口,而不必考慮外部接口具體是什么設備只要這種設備實現主機提供的接口,兩者就可以通訊。這種插件有個最大的優點就是即插即用,即支持動態的插入。
插件是組件(構件)的一種,我們可以這樣給插件進行定義,那就是凡是在應用程序中已經預留接口的組件就是插件,例如:Java中jdbc技術,jdbc只是一個接口,任何一個插件制造商只要實現這個接口都可以被java平台所使用。我們還可以拿IE插件作為例子,IE中之所以可以嵌入很多的應用程序,那是因為IE允許他們插入,說的明白一點,那就是在IE的源程序中已經為這些應用程序預留了接口,只要把通知瀏覽器已經加載了什么插件,瀏覽器就會調用預留的接口調用這些所謂的插件。
當然控件也是組件(構件)的一種,按照網上的說法,控件就是可視化的組件,我也同意這種說法,其實再從普通組件中分解出控件完全是沒有必要的,因為對於開發人員來講,可不可視對於非軟件人員來說可能很重要,但是對於軟件人員來說又有什么區別呢?
