組件革命
我們,程序員的世界,正在進行這一場編程方式的革命。這不是一件軟件專業的稀奇事因為我們已經身處許多“革命”之中。例如:C語言代替了FORTRAN,C++促進了編程方式向面向對象轉移,Java讓網絡充滿活力。但是當下的革命尤為重要因為它重塑了結構化編程的基本方式。更為重要的是,這場革命正影響著廣大應用程序領域以及計算領域本身,我們指的就是組件開發革命,從傳統的結構化編程領域步入組件軟件開發領域。可以說會對組件化編程革命產生持續深遠的影響。
在開始我們的COM之旅之前,了解為什麽軟件組件編程很重要並且它們怎樣改變了程序結構是很有意義的。你會明白,組件編程不是另一編程方式,他們是更好的編程方式。
兩個目標
組件編程革命看中兩個核心要素:
l 管理可擴展的復雜程序
l 可重用代碼
下面我們詳細討論各個要素:
程序復雜度
復雜度是一個程序員必須面臨的最大挑戰。初學者在他們早期的編程生涯中有著較長的編程時間和調試時間。隨著程序尺寸增大,他們通常會變得復雜,然而我們人類能管越多,邊界效應和非預期相互影響的幾率越理的復雜度通常有限。從純組合的觀點來說,代碼行大。多數程序員今天知道,程序正變得越來越雜。
組件編程通過允許我們“各個擊破”來幫助我們管理復雜度。通過應用組件技術,我們可以把應用程序分離為構件。每個構件都能被作為一個獨立單元分別編碼維護。通過把自主資源劃分成功能單元,程序員就降低了大程序的復雜度。
可重用代碼
綜上所述,程序員擁有了重用代碼的能力。即使開發和調試是一個昂貴的過程,我們仍然高度渴望代碼重用。早些時候,代碼重用是一個程序到另一個程序的復制粘貼,當然,今天仍在使用。先進一點的從可重用函數庫裏取,比如像C的函數庫。後來很快被標準化的類庫所取代,諸如像C++指定的那些。軟件組件化把代碼重用向前推進了一大步,因為允許使用由獨立開發者開發的自封裝的二進制模塊。不像在編譯狀態下運行的類或函數庫,組件是實時“插入”應用程序的。而且,任何應用程序需要這樣一個組件都可以使用它。這樣,一旦一個組件被編寫,就可以供無數的應用程序使用。
軟件組件擴展了代碼重用的另一種方式。一個組件可以使用任何支持組件編寫的計算機語言編寫。使能的組件可以被任何應用程序使用,而不用關心應用程序使用什麽語言。這樣,一種語言寫的代碼就可以被另一種語言寫的代碼使用。這樣就允許了應用程序由一些獨立模塊構成,每個模塊都使用最適合的工具構建。
組件革命