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