精彩詞條構(gòu)件
補(bǔ)充:0 瀏覽:42513 發(fā)布時間:2012-9-4
構(gòu)件是系統(tǒng)中實(shí)際存在的可更換部分,它實(shí)現(xiàn)特定的功能,符合一套接口標(biāo)準(zhǔn)并實(shí)現(xiàn)一組接口。構(gòu)件代表系統(tǒng)中的一部分物理實(shí)施,包括軟件代碼(源代碼、二進(jìn)制代碼或可執(zhí)行代碼)或其等價(jià)物(如腳本或命令文件)。在圖中,構(gòu)件表示為一個帶有標(biāo)簽的矩形。
一、機(jī)械領(lǐng)域 機(jī)器中每一個獨(dú)立的運(yùn)動單元體稱為一個構(gòu)件。 [structural member]∶機(jī)構(gòu)的組成單個元,它是一個和某相鄰構(gòu)件有相對運(yùn)動的剛體 橋梁構(gòu)架;抗壓構(gòu)件的設(shè)計(jì) [component part]∶組成部(分) 電動機(jī)的各種構(gòu)件人財(cái)產(chǎn) 在機(jī)構(gòu)學(xué)中組成機(jī)構(gòu)的﹑彼此間具有確定的相對運(yùn)動關(guān)系的基本單元﹐如曲柄滑塊機(jī)構(gòu)中的曲柄﹑連桿﹑滑塊和機(jī)架﹐凸輪機(jī)構(gòu)中的凸輪﹑從動桿和機(jī)架。在結(jié)構(gòu)學(xué)中則指結(jié)構(gòu)物中的計(jì)算或制造單元﹐它們是固定在一起的﹐彼此間除由于應(yīng)變有微量位移外﹐沒有相對運(yùn)動﹐如梁﹑柱﹑拉桿等。 二、 軟件工程中的構(gòu)件 構(gòu)件是面向軟件體系架構(gòu)的可復(fù)用軟件模塊。構(gòu)件(component)是可復(fù)用的軟件組成成份,可被用來構(gòu)造其他軟件。它可以是被封裝的對象類、類樹、一些功能模塊、軟件框架(framework)、軟件構(gòu)架(或體系結(jié)構(gòu)Architectural)、文檔、分析件、設(shè)計(jì)模式(Pattern)等。1995年,Ian.oraham給出的構(gòu)件定義如下:構(gòu)件(Component)是指一個對象(接口規(guī)范、或二進(jìn)制代碼),它被用于復(fù)用,接口被明確定義[8]。構(gòu)件是作為一個邏輯緊密的程序代碼包的形式出現(xiàn)的,有著良好的接口。像Ada的Package、Smalltalk-80和C++的class和數(shù)據(jù)類型都可屬于構(gòu)件范疇。但是,操作集合、過程、函數(shù)即使可以復(fù)用也不能成為一個構(gòu)件。開發(fā)者可以通過組裝已有的構(gòu)件來開發(fā)新的應(yīng)用系統(tǒng),從而達(dá)到軟件復(fù)用的目的。軟件構(gòu)件技術(shù)是軟件復(fù)用的關(guān)鍵因素,也是軟件復(fù)用技術(shù)研究的重點(diǎn)。 軟件構(gòu)件應(yīng)具備以下屬性: (1)有用性(Usefulness):構(gòu)件必須提供有用的功能; (2)可用性(Usability):構(gòu)件必須易于理解和使用; (3)質(zhì)量(Quality):構(gòu)件及其變形必須能正確工作; (4)適應(yīng)性(Adaptability):構(gòu)件應(yīng)該易于通過參數(shù)化等方式在不同語境中進(jìn)行配置; (5)可移植性(Portability):構(gòu)件應(yīng)能在不同的硬件運(yùn)行平臺和軟件環(huán)境中工作。 日歷、工作流構(gòu)件、訂單構(gòu)件、用戶界面控制等等都可以是構(gòu)件。 2.1.3 構(gòu)件的特點(diǎn) 構(gòu)件具有以下幾個特點(diǎn): (1)自描述:構(gòu)件必須能夠識別其屬性、存取方法和事件,這些信息可以使開發(fā)環(huán)境將第三方軟件構(gòu)件無縫地結(jié)合起來; (2)可定制:允許提供一個典型的圖形方式環(huán)境,軟件構(gòu)件的屬性只能通過控制面板來設(shè)置; (3)可集成:構(gòu)件必須可以被編程語言直接控制。構(gòu)件也可以和腳本語言或者與從代碼級訪問構(gòu)件的環(huán)境連接,這個特點(diǎn)使得軟件構(gòu)件可以在非可視化開發(fā)項(xiàng)目中使用; (4)連接機(jī)制:構(gòu)件必須能產(chǎn)生事件或者具有讓程序員從語義上實(shí)現(xiàn)相互連接的其他機(jī)制。 采用構(gòu)件軟件不需要重新編譯,也不需要源代碼并且不局限于某一種編程語言。該過程叫做二進(jìn)制復(fù)用(Binary Reuse),因?yàn)樗墙⒃诮涌诙皇窃创a級別的復(fù)用之上的。雖然軟件構(gòu)件必須遵守一致的接口,但是它們的內(nèi)部實(shí)現(xiàn)是完全自動的。因此,可以用過程語言和面向?qū)ο笳Z言創(chuàng)建構(gòu)件。 由于構(gòu)件技術(shù)是由基于面向?qū)ο蠹夹g(shù)而發(fā)展起來的,與面向?qū)ο蟮脑O(shè)計(jì)中的對象相類似,它們都是針對軟件復(fù)用,都是被封裝的代碼,但它們之間仍存在很大差異: 差別 (1)在純面向?qū)ο蟮脑O(shè)計(jì)中,對象(類)、封裝和繼承三者缺一不可,但對構(gòu)件可以沒有繼承性,只要實(shí)現(xiàn)封裝即可; (2)從構(gòu)件和對象的生成方式上,對象生成屬于實(shí)例化的過程,比較單一,而生成構(gòu)件的方式較多; (3)構(gòu)件是設(shè)計(jì)的概念,與具體編程語言無關(guān),不像對象屬于編程中的概念,要依賴于具體的編程語言; (4)在對構(gòu)件操作時不允許直接操作構(gòu)件中的數(shù)據(jù),數(shù)據(jù)真正被封裝了。而對象的操作通過公共接口部分,這樣數(shù)據(jù)是可能被訪問操作的; (5)對象對軟件復(fù)用是通過繼承實(shí)現(xiàn)的,構(gòu)件對軟件復(fù)用不僅可以通過繼承還可以通過組裝時的引用來實(shí)現(xiàn)。 因此,構(gòu)件不是對象,只是與對象類似。 從力學(xué)角度來說,結(jié)構(gòu)是指可以承受一定力的結(jié)構(gòu)形態(tài),它可以抵抗能引起形狀和大小改變的力。每種事物都有它的架構(gòu)形態(tài),這種架構(gòu)形態(tài)體現(xiàn)著它的結(jié)構(gòu)。一個較復(fù)雜的結(jié)構(gòu)由許多不同的部分組成,這些組成部分通常成為構(gòu)件。 其他補(bǔ)充 |
|