
軟體構件說明-軟體建築模組-構件說明-構件開發(CBD),黑盒構件,開放市場構件和網路服務。
根據韋氏大學詞典,構件這個詞於1645年在英語中開始普遍使用。他們把構件定義為:
1:一個組成部分:See Ingredient
他們繼續談論構件這個詞的詞源:構件的拉丁語形式- componens,componere的現在分詞連在一起.
該定義適合軟體構件,因為他們真正的成為"應用的成分", 您"把這些成分連接起來"完成您的工作。當今世界中的軟體構件的進一步定義為定義能命令提供構件封裝的功能的介面的任何預寫代碼。這些都典型的包裝在"產業標準"方法中,以便它們能從多種語言或多種環境中得到命令。典型地,構件被創建為Microsoft® .NET 或Microsoft Component Object Model™ (COM) 構件, 企業版Java™ 2平臺(J2EE)或JavaBeans™構件,Borland Delphi™ VCLs, 或其它一些鮮為人知的架構。由於在相容環境下進行程式設計的程式師很多,基於NET/COM and J2EE/Java的構件的使用最廣。是這些構件共同工作的裝配構件和編寫代碼的新範例有名稱,當然也有縮略詞,構件開發(CBD)。
構件開發是真正的從構件中創建軟體應用的觀念。在設計和規格階段,開發者使用內部開發構件和開放市場構件為他們的應用提供盡可能多的功能。然後開發者編寫了所需的附加構件和把所有構件組在一起的粘合代碼。他們可把其創建的新構件放在公司貯藏庫或貯存器中,以便其他人能使用他們創建的功能。這能説明形成能降低開發成本的軟體複用。例如:如果開發者創建了進入公司資料庫中客戶的通道,其他程式師都沒必要再一次編寫該功能。他們能在他們的貯存器中找到該客戶構件,並在他們的應用中使用,執行該功能。
構件主要有兩種分類:白盒構件和黑盒構件。白盒構件為原始程式碼構件。它們為可讀的,並能由使用它們的程式師直接更改。黑盒構件為典型的編譯或二進位形式。它們為不能直接更改的分立構件。所有的程式師知道它們是描述功能、發佈的"公眾所知的"介面的檔。這些介面可包括可視屬性(或特性),或其中的新數值。第二,使構件執行預先描述的行為的方法。最後,構件將通知程式師行為已經發生時發生的事件。使用黑盒構件的好處大於白盒構件的帶來的好處。黑盒構件不能直接由程式師修改。它們通過創建新的"包裝";構件延伸功能,包裝和延長已有構件。這保持了原功能的完整,以便原開發者做出的升級,問題修復等能執行。如果您準備更改白盒構件的來源,您應有新的來源資料流,舊問題將不固定,並傳遞給構件的新事例。
在90年代早期,發明了一種新類型的構件。這是可購買的商業性構件。ComponentSource創造了新的術語描述這些類型的構件:開放市場構件。開放市場構件為可從貨架上購買的可再用構件。構件以標準構件構架為基礎,如:COM或Java,您能在無需購買支援、整合或其它類型的服務的條件下購買這些構件。它們為真正的隨插即用的構件。我很高興在1991年從事第一批商業開放市場構件工作。其為來自MicroHelp公司的VBTools™。其以Microsoft Visual Basic™構件模式(或VBXs)為基礎。該模式發展為真正的基於COM的構件((OCXs),而現在成為當今的.NET構件。開放市場構件供過於求,在寫該文時達1,000's,簡化程式師的工作,允許他們專注於程式設計其核心能力任務,通過執行他們的公司定義業務程式或功能,而無需編寫各種構件或路線處理一般事情,如資料顯示、製圖、計算、演算法和很多其它在開放市場上可得到的事情。流覽我們的市場,您將明白我們所談論的。重新使用成為現實,因為您能重新使用開放市場構件,這其實只是其他人編寫、試驗和證明的代碼。
網路服務為局域網成為互聯網的構件分佈環境的所提議的以後的自然延伸。用用的構件不是在伺服器上,網路的某個地方,而是能安裝在網路外的某個地方。網路服務是與託管解決方案等同的構件。不用託管整個應用,您可簡單讓單獨構件得到託管。這提供了激發關於配置、管理和license的簡單性。
自從2000年6月以來,主要平臺的銷售商已在此宣佈了他們提議的供品,著名的Microsoft's .NET, Sun's Sun ONE, HP's eServices, Oracle's eSpeak and IBM's Websphere 程式。這些技術的全部交付是在一年前(在寫這篇文章時)。
細微性成為許多使用構件的程式師談論的新術語。細微性是描述一個構件或一起工作的一套構件提供的細微性量的詞。舉個簡單的例子,細細微性構件可能提供把3個數位加起來的功能,這仍是小量緊湊的,其空間占用量低,自訂程度不高。功能性很分散。大細微性構件將提供大件功能性。這也許是檔訪問庫、資料庫構件或基於框架"幾乎完成"的功能性,如CRM, ERP, eCommerce或其它系統。如:一個eCommerce構件可提供整個eCommerce系統的80%或90%的功能性,包括註冊、購物車、目錄服務、結帳、發郵件等。其可作為單一構件進入,但是在現實中其為整合在一起提供大細微性解決方案的構件的框架。
所以哪個更好,細細微性或大細微性。他們都有各自的有點和缺點。大細微性構件可提供大量應用功能,典型地,它們的自訂程度不如很多不同細細微性共同組成的構件。這通常是因為細細微性構件是分散的,您結束編寫更多的使這些構件以您希望的方式共同工作的粘合代碼。當然這指編寫更多耗時的代碼。在大細微性構件中粘合代碼編寫在構件內部,您沒有方法對其進行自訂。您只能設置開發者允許您設置的屬性/特性來自訂框架的工作方式。
使用CBD技術,您的應用開發程式可成為流線型。您能使用、購買和創建構件和代碼形式的可再用資產。這將使您的開發部門進入21世紀的程式設計,一個真正的將改善您的生產力和帶來所有重新使用,代碼共用,尤其是開發您的應用有關的市場問題的時間的合作努力。