組件的英文名為"component",也稱為元件。實際上組件並不是一種新概念,它在許多成熟的工程領域有著十分廣泛的應用。比如我們組裝計算機,自己並不一定要了解CPU、主板、光驅等配件的工作原理,而只需要知道如何將這些配件組裝在一起。
軟件行業的組件系統比其它許多行業發展得都要慢。在計算機軟件發展的早期,一個應用系統往往是一個單獨的應用程序。隨著人們對軟硬件需要的不斷增加,應用更加復雜,程序更加龐大,系統開發的難度也越來越大。
從軟件模型的角度考慮,人們希望把龐大的應用程序分割成為多個模塊,每個模塊完成獨立的功能,模塊之間協同工作。這樣的模塊我們稱為組件。這些組件可以進行單獨開發、單獨編譯、單獨測試;把所有的組件組合在一起得到了完整的系統。許多人都認為,未來的應用程序都將利用組件實現。
組件化的軟件結構為我們帶來了極大的好處。但是為了能夠通過組裝現有的組件來創建應用程序系統,我們必須解決幾個技術上的關鍵問題:
●采用一個標准方式來規范組件的定位和使用,這樣將大大減少在人員培訓上的開銷,提高了組件的通用性。
●提供與對象進行交互操作的標准方式。組件和對象所處的具體位置不應用影響程序員的開發方式,也不妨礙它們之間的交互操作,即我們所說的“位置透明性”。
●要便於創建組件的版本。對軟件的升級應用具有靈活性,組件的更新不會對現有的應用程序的運行造成不良影響。
●提供滿足用戶需要的安全性。