3、構(gòu)件與對(duì)象
構(gòu)件通常包含了若干類 或 不可更改的 原型對(duì)象。還包括一系列對(duì)象。
但構(gòu)件并非一定要包含類元素,它甚至可以不包含類,可以擁有傳統(tǒng)過(guò)程體,甚至全局變量。
構(gòu)件創(chuàng)建的對(duì)象——更確切地說(shuō)是對(duì)這些對(duì)象的 引用——可以與該構(gòu)件分離開(kāi)來(lái),并對(duì)構(gòu)件的客戶可見(jiàn)。構(gòu)件的客戶通常是指其他構(gòu)件。
一個(gè)構(gòu)件可以包含多個(gè)類元素,但是一個(gè)類元素只能屬于一個(gè)構(gòu)建。將一個(gè)類拆分進(jìn)行部署通常沒(méi)有什么意義。
4、模塊
模塊化方法成熟的標(biāo)志是其對(duì)分離編譯技術(shù)的支持,包括跨模塊的正確的類型檢查能力。
模塊沒(méi)有實(shí)例化的概念,在任何情況下,模塊都可以包含多個(gè)類。類之間的繼承關(guān)系并不受模塊界限的限制。
模塊本身就可以作為一個(gè)最簡(jiǎn)單的構(gòu)件,這些庫(kù)是功能性的,而不是面向?qū)ο蟮摹?/P>
資源可以參數(shù)化一個(gè)構(gòu)件,重新配置該構(gòu)件而無(wú)需更改構(gòu)件代碼,例如,本地化設(shè)置可以通過(guò)資源配置實(shí)現(xiàn)。
某些情況下,模塊并不適合作為構(gòu)件,構(gòu)件沒(méi)有外部可見(jiàn)的狀態(tài),但是模塊卻可以顯式地用全局變量來(lái)使其狀態(tài)可見(jiàn)。
5、白盒抽象、黑盒抽象 與 重用 白盒抽象中,可以通過(guò)繼承對(duì)構(gòu)件的實(shí)現(xiàn)細(xì)節(jié)進(jìn)行修改,白盒方式中實(shí)現(xiàn)細(xì)節(jié)對(duì)外界是完全可見(jiàn)的。
絕大多數(shù)系統(tǒng)中,(Application Programming Interface,API)相當(dāng)于黑盒重用這些接口的實(shí)現(xiàn)。
白盒重用不可以輕易地被另外的軟件替換,因?yàn)?依賴于 細(xì)節(jié)。
軟件構(gòu)件是一種組裝單元,它具有規(guī)范的接口規(guī)約和顯式的語(yǔ)境依賴,軟件構(gòu)件可以被獨(dú)立地部署并由第三方任意地組裝。
6、接口
接口是一個(gè)已命名的一組操作集合。
一個(gè)構(gòu)件可以有多個(gè)接口,每個(gè)接口提供一種服務(wù)。
盡量不要重復(fù)引入功能相近的接口。
推行標(biāo)準(zhǔn)化,可能會(huì)由于笨拙官僚的“委員會(huì)設(shè)計(jì)”問(wèn)題而不能達(dá)到最優(yōu);市場(chǎng)競(jìng)爭(zhēng),的 非技術(shù)本質(zhì) 也可能導(dǎo)致結(jié)果不是最優(yōu)。
接口標(biāo)準(zhǔn)化 是對(duì)消息的 格式、模式、協(xié)議 的標(biāo)準(zhǔn)化,XML 提供了一種統(tǒng)一的數(shù)據(jù)格式。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |