控件、組件、插件、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都是樹枝,插件就是樹上引來的一隻鳥。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章